@AlexPitTech
backend php developer

Потери CPU на php при миграции на docker?

В qa кластере, при нагрузочном тестировании php-fpm кушает в 2-3 раза больше CPU чем на голом железе. Кто-нибудь сталкивался с этим?

bases image - php:7.4-fpm-alpine
opcache включен, без него совсем плохо
Yii2 - разница заметна уже после загрузки yii autoloader, но не до.
В целом скорость работы сайта не изменилась - время при прогретом кеше 250-300ms, но cpu...

Есть у кого какие идеи? Сколько по вашему опыту, были потери при миграции на docker? Заранее спасибо за ответы
  • Вопрос задан
  • 182 просмотра
Решения вопроса 1
karabanov
@karabanov Куратор тега Docker
Системный администратор
У Alpine вместо libc суррогат под названием musl, а так же ряд библиотек отсутствует в виде готовых бинарей и собирается из исходников во время сборки образа с неизвестно какими флагами оптимизации, ты ведь их сам не настраивал верно ;-)

Возьми в качестве базового образа debian-slim, установи туда PHP-FPM из Sury репозитория, во первых образ будет меньше размером, во вторых работать будет быстрее.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@rPman
у системы 'виртуализации' (точнее песочницы), используемой docker, работа с диском потребляет заметно большее количество процессора, в среднем десятки процентов, в худшем - 2х ухудшение производительности

причина в файловой системе, которая реализует технологию снапшотов

посмотри, какой storage driver у тебя используется, вроде бы lcsf самый быстрый

На работу сети у докер так же есть понижение производительности (я читал про простые тесты iperf в режиме bridge, до 20% потери)

p.s. если у тебя windows, немедленно меняй ОС, под ней docker работает только ради совместимости, производительность очень низкая
Ответ написан
Комментировать
@AlexPitTech Автор вопроса
backend php developer
Было взято за основу php:7.4.30-fpm-bullseye image, что значительно дало прирост скорости.
Взять в качестве базового образа debian-slim и Sury репозитория возможно будет еще быстрее, но пока не тестировалось
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы