Size: a a a

Docker — русскоговорящее сообщество

2020 September 23

MT

M T in Docker — русскоговорящее сообщество
Хотя говорили вечный сентябрь все дела
источник

NK

Nikita Kagan in Docker — русскоговорящее сообщество
A
Изучаю Docker. Подскажите, такую проблему можно решить?
не испольщуй винду скачай virtual vm и все решается проблема легко а то с виндой будешь мается долго
источник

NK

Nikita Kagan in Docker — русскоговорящее сообщество
и туда можешь любую ос кроме mac использовать
источник

e

evgen in Docker — русскоговорящее сообщество
evgen
Я попробовал запустить проект на отдельном openvz контейнере без докера. Установил тот же php-fpm с того же репозитория, все тоже самое (в общем выполнил руками свой же Dockerfile). Такой проблемы нет, все летает
Я попробовал запустить проект на голом сервере в докере, проблема есть, php грузит процессор и сжирает весь сервер
Пробовал отлаживать через xhprof, не увидел ничего криминального, проект конечно не очень оптимизирован, но без докера же тоже самое прекрасно работает

Сравнивал конфиги с официальным php-fpm, увидел только отличие в заданном output_buffers=4096 (у меня этот параметер отключен)

Похоже следующий шаг запустить php-fpm в официальном образе, пусть на коленке, но проверить, будет ли тормозить там

Не знаю куда еще копать. Все что проект записывает на диск вынесено в volumes. Логи только через stdout/stderr

Причем время ответа с докером не на много выше получается, но загрузка процессора при этом в разы (если не в 10 раз) больше
Попробовал запустить в официальном образе php-fpm, докер установлен на железо, ситуация такая же, сильная загрузка CPU, без докера нагрузка вообще не заметна

Скажите, кто использует php-fpm под нагрузкой, сильная патеря производительности идет?
opcache включен по максимуму, никаких проверок
источник

e

evgen in Docker — русскоговорящее сообщество
Может ли supervisord как то влиять на это? Он у меня php-fpm запускает
И достаточно большой entrypoint (формирует .env файл проекта, выполняет миграции и создает индексы в elastic)
источник

e

evgen in Docker — русскоговорящее сообщество
нагрузка в вечернее время около 200-250 запросов в секунду
запросы в основном маленькие и работают только с elastic/redis
источник

AZ

Alexander Zhuravlev in Docker — русскоговорящее сообщество
evgen
Может ли supervisord как то влиять на это? Он у меня php-fpm запускает
И достаточно большой entrypoint (формирует .env файл проекта, выполняет миграции и создает индексы в elastic)
В докере??
источник

e

evgen in Docker — русскоговорящее сообщество
Alexander Zhuravlev
В докере??
да, entrypoint готовит контейнер к работе, создает индексы, применяет миграции и запускает supervisord
supervisord запускает php-fpm и nginx
источник

AZ

Alexander Zhuravlev in Docker — русскоговорящее сообщество
Чёт жуть какая-то. Всё в одном контейнере + зачем-то супервизор. Выглядит странно. И чтобы это перевести на кубер, это же куча лишнего оверхеда будет, если на каждом поде крутить такие имиджи.
источник

e

evgen in Docker — русскоговорящее сообщество
Alexander Zhuravlev
Чёт жуть какая-то. Всё в одном контейнере + зачем-то супервизор. Выглядит странно. И чтобы это перевести на кубер, это же куча лишнего оверхеда будет, если на каждом поде крутить такие имиджи.
ну у меня нет планов на куб, и я далек от этого
это проект внутри одного провайдера, докер нужен чтобы упроситить инициализацию и обновление
источник

AZ

Alexander Zhuravlev in Docker — русскоговорящее сообщество
Я наоборот всячески уходил от супервайзера. Он мне просто на голом железе не очень-то нравился. А тут он рулит двумя настоящими демонами. Хз, выглядит страшно
источник

AZ

Alexander Zhuravlev in Docker — русскоговорящее сообщество
Для инициализации есть скрипты wait-for чтобы один контейнер ждал запуск другого
источник

e

evgen in Docker — русскоговорящее сообщество
я другое имею в виду
нет зависимости от системы, образ запустил, все внутри, как надо настроено
источник

e

evgen in Docker — русскоговорящее сообщество
ну всякие эластики и nginx-proxy конечно в других контейнерах находятся
источник

e

evgen in Docker — русскоговорящее сообщество
я понимаю, что это несколько разнится с best practics докера, но все же такое много где я находил, типа практикуется

разве что S6 какой то супервизор используют...
источник

AZ

Alexander Zhuravlev in Docker — русскоговорящее сообщество
evgen
я другое имею в виду
нет зависимости от системы, образ запустил, все внутри, как надо настроено
docker-compose позволяет всё запускать одной командой
источник

AZ

Alexander Zhuravlev in Docker — русскоговорящее сообщество
Зато каждый сидит у себя в контейнере. Легче профилировать, обновлять, отлаживать
источник

e

evgen in Docker — русскоговорящее сообщество
хорошо попробую сейчас запустить два контейнера отдельных
источник

e

evgen in Docker — русскоговорящее сообщество
с отладной в целом проблем нет, все логи выведены в потоки
проблема только с производительностью )
источник

e

evgen in Docker — русскоговорящее сообщество
а в продакшене допустимо код хранить на хосте и пробрасывать его в контейнеры через volume?
источник