Выбор MPM модуля
| MPM | Применение | Рекомендация |
|---|---|---|
| Prefork | mod_php (устаревший) | Не рекомендуется |
| Worker | Многопоточный | Если нет mod_php |
| Event | Асинхронный | Рекомендуется для PHP-FPM |
# Переключение на Event MPM
a2dismod mpm_prefork
a2enmod mpm_event
a2enmod proxy_fcgi setenvif
a2enconf php8.2-fpm
systemctl restart apache2
Оптимизация KeepAlive
# /etc/apache2/apache2.conf
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5 # Снизить с 15 до 5 секунд
Включение модулей оптимизации
a2enmod expires deflate headers
a2enmod http2 # HTTP/2 поддержка
Логирование медленных запросов
# В VirtualHost конфиге
CustomLog ${APACHE_LOG_DIR}/slow.log combined env=slow
SetEnvIf X-Request-Start t=([0-9]+) slow_start=$1
💡 Apache с Event MPM + PHP-FPM сопоставим по производительности с Nginx при правильной настройке. Prefork — главная причина медленной работы Apache.