Megas
@Megas

Почему запуск PHP скрипта под Apache на много медленее, чем под CLI?

У меня есть скрипт, который запускается раз в несколько минут и производит около миллиона записей в БД Redis. Скрипт запускается через Apache (т.е. по URL удаленным планировщиком задач). Я был удивлен, что такой скрипт работает очень долго, примерно со скоростью 1.6К комманд в секунду, хотя бенчмарки показывают скорость в ~250К комманд в секунду. Причем чем дольше работает скрипт, тем медленее он пишет в Redis. Памяти на сервере валом (да и в скрипте все оптимизированно). Долго проверял что не так с Redis, но потом запустил этот скрипт через консоль и о чудо, вместо обычных 550-600 секунд, скрипт отработал за 7 (!) секунд.

Теперь пытаюсь понять почему через Apache все так медленно работает?
Какие могут быть причины?
Как можно сделать профайлинг Apache?
Ктото сталкивался с подобной проблемой?

Конфиги PHP в Apache и CLI режимах одинаковые.

Apache: 2.4.29
Server: Ubuntu
PHP: 7.3

P.S. Предложения обновить пхп или изменить апаче на другой сервер - не интересуют. Хочу понять в чем проблема в данном случае.
  • Вопрос задан
  • 143 просмотра
Пригласить эксперта
Ответы на вопрос 1
t-alexashka
@t-alexashka
Сразу пишу legacy код
Очевидно что надо смотреть конфиги апача, сколько ему разрешено использовать оперы на процесс, и в каком режиме там работает пхп (обычный через модуль апача или как fpm).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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