Konstantin
Что на прокси?
Shamil
Я уже пробовал ставить разные резолверы и BIND и unbound — одинаково тупит.
Konstantin
3к/минуту? Это же ничто
Ivan
сними трафик и посмотри на него
Shamil
И еще есть такой симптом, запускаю микросервис в одном экземпляре, работает нормально, делаю пять и время ответа поднимается на полку в 1 секунду.
Konstantin
Что на прокси?
У тебя на каждый запрос идёт резолв?
Shamil
Ну в линуксе по-другому никак. Вот я уж и думал, ставить на каждый хост кэширующий резолвер, но это как-то стрёмно ИМХО.
Shamil
Я проверял, резолвер, что BIND, что unbound, первый запрос делают рекурсивно, за ~100 мс, а дальше из кэша отдают, за 0 мс
Shamil
Но дело даже не в DNS, я просто чувствую, что сеть тормозит, а понять почему не могу — не хватает опыта траблшутинга сетей. Поэтому обращаюсь к сообществу, может кто-то встречал такую проблему? Может у меня там какая-то ошибка новичка?
Konstantin
Блин, мы на разных языках
Ivan
сними трафик и отдай админам пусть скажут что да как
Ivan
google: how to capture network traffic in docker...
Ivan
какая нагрузка цпу при 3000reqs/min?
Shamil
Да я уж все прогуглил до самых глубин, уже все крутил, что только мог, просто не знаю что делать, вот от отчаяняя сюда пришел (-:
Ivan
у меня подозрения на то что cpu не хватает на виртуализацию сети
Shamil
Может надо что-то знать про виртуализацию, чего я не учел? Мы все крутим на vSphere. Развернуты виртуалки с CentOS 7.5.1804, docker 18.06.0-ce. Может какой-то из этих компонентов проклятый?
Ivan
скорее нужно знать как троубулешутить линукс и докер
Shamil
Все вопросы по тормозной сети закрыли на 17.06
Shamil
Я сам не верил, что DNS может быть причиной тормозов, но когда прописали все в /etc/hosts существенная часть тормозов ушла.
Ivan
нужно знать причину, а не гадать
Shamil
Я чувствовал себя идиотом: у нас не такая большая сеть, чтобы днс был причиной тормозов.
Ivan
можно увеличить скорость тормозной системы отлючив аудио драйвер освободив немного оперативной памяти или прописать локальный днс тоже "помогает"
Shamil
И вот еще вопрос: сеть сворма работает на скорости самой медленной ноды, или как? То же самое, относительно latency? Может у меня просто в сворме есть "паршивая овца" из-за которой тормозит весь кластер?
Ivan
нужно знать свое приложение, арх. операционой системы, арх. докера, арх. сети, арх. субд... думаешь, что сеть сними трафик, думаешь что приложение мониторь cpu & memory usage... может там dns failover... если субд мониторь субд запросы смотри стоимость...
Ivan
может тупить файловая система это зависит от твоего приложения. может есть место где 3 млн файлов в одной папке и файловая система нагибает все.
Ivan
может тиков цпу не хватает на сеть докера, т.к. приложение работает на максимальной нагрузке и выше уже быть не может
Ivan
найди узкое горлышко. мониторь систему субд, фс, сеть, цпу, память...
Shamil
Спасибо, конечно! Но я уже везде смотрел, думал, может что-то очевидное пропускаю. Значит придется еще глубже копать.
Shamil
Видимо ничего не пропускаю, что могло бы быть на поверхности.
Ivan
попробуй стабильную версию вашего приложения/сервиса/сайта маштабировать, а не дев версию. может в дев. версии есть перф. баги
Shamil
18.06.0-ce это dev?
Konstantin
Не про днс, но всё же
Konstantin
18.06.0-ce это dev?
Не, стейбл
Konstantin
Обнови до последней 18.06.1
Konstantin
Нет, я с телефона
Konstantin
Не обновляй)
Shamil
Не обновлю (-: Подниму новый и смигрирую в него, этот достался от по наследству, уже устал его лечить.
alexander
всем привет! а насколько это плохая практика — делать специализированный ssh ключ на чтение из приватных репозиториев, чтобы при билде образа докер мог стягивать приватные зависимости? (ключ в итогое изображение не попадает)
alexander
пытался прокидывать ssh ключи из окружения при билде, но это не всегда работает. в частности в CI нету ключа, есть только ssh агент, который создается на время билда. если пробросить агента, то пользователь будет другой.
alexander
Как насчет скачать зависимость средствами CI, а в образ копировать с помощью простого COPY?
раньше так и было, но когда решил, что собираться тоже должно в идентичном окружении и стал использовать multi stage builds, то появилась такая проблема.
alexander
Владимир
всем привет! а насколько это плохая практика — делать специализированный ssh ключ на чтение из приватных репозиториев, чтобы при билде образа докер мог стягивать приватные зависимости? (ключ в итогое изображение не попадает)
В целом не очень хорошо - твой образ становится зависимым от приватного репозитория, но если только для личного пользования, то не вижу ничего в этом страшного
Владимир
alexander
В целом не очень хорошо - твой образ становится зависимым от приватного репозитория, но если только для личного пользования, то не вижу ничего в этом страшного
в каком смысле зависимым? при сборке все зависимости стягиваются и образ от них уже не зависит. к тому же, он так или иначе все-равно из приватного репозитория собирается.
Владимир
Хотя да, если всё равно всё это лежит в одной репе, то норм
Владимир
Я прокидывал ключи, что лежат на сервере, где идёт сборка, более логичный подход, как по мне
alexander
дело в том, что зависимости стягиваются менеджером пакетов, который стягивает пакеты под конкретную платформу. поэтому хочется запускать менеджер пакетов из окружения в котором сервис и будет выполняться. + если lock файл с пакетами не менялся, то менеджеру пакетов даже не надо запускаться, т.к. слой закеширован при прошлом билде. короче, у такого подхода есть плюсы.
Andrii
Вообще подход может быть интересный. Если сделать "билд" образ со всеми ключами, скриптами и зависимостями И использовать его как первый степ в мультистейдже то может и не плохая затея. Но если это использовтать в в CI то получится билд образ внутри билд ноды.
alexander
ну, типа того, ага... зато один и тот же образ можно будет везде легко собрать, как локально, так и на билд ноде, не настраивая окружения для билда. ну ладно короче, поэкспериментирую. спасибо)
Yaroslav
Привет! Подскажите плс, работает ли docker на подсистеме WSL ? Для тестового стенда, для экономии на виртуалках
V 🏴‍☠️
Шта
Konstantin
Привет! Подскажите плс, работает ли docker на подсистеме WSL ? Для тестового стенда, для экономии на виртуалках
Для экономии можно lcow взять, переключить на виндовс контейнеры. Но я там ничего не скажу, особо не тестил
Aleksandr
Джокер мы согласовали Ядвиге. Дане пока рано, смысла нет. Тебе Девоопс согласовали. Олег очень попросил о следующем, цитирую:
Aleksandr
Пусть сходит и обязательно потом сделает доклад по мониторингу - Мониторинг и аудит приложений (Prometeus, OkMeter, DataDog, BPF, Dynatrace, XRebel, Glimpse, Zipkin, OpenTrace и другие); И пообщается с Андреем Ермаковым из Tinkoff как у них выстроен этот процесс.
Alexander
доброй ночи
Alexander
подскажите как прокинуть .env файл внутрь контейнера. Не использовать его как переменные окружения, а именно прокинуть, чтобы внутри контейнера был /var/www/.env . У меня ларавел упорото хочет видеть именно файл и все ломается без него
Alexander
а нет какого-то варианта исключения, чтобы не извращаться? ну т.е. копи выглядит логично, но периодически надо править этот файл и не хотелось бы ради этого 10 минут ждать пересборки тома
Alexander
volume - вариант без пересборки, но .... возможно я не понял как. в лоб не вышло
Alexander
php: build: .docker/php-fpm volumes: - ./src:/var/www/ - ./src/.env:/var/www/.env
Alexander
такой volume ?
Alexander
так не хочет
Konstantin
Так потому что папка вся уже маунтится, отдельно файл не надо
Konstantin
С чего решил что не хочет, нет в контейнере его?
Alexander
угумс
Alexander
в контейнере его нет