Оптимизация и настройка apache
Недавно при работе над одним проектом с высокой посещаемостью пользователей, возникла необходимость оптимизации работы VPS-сервера. Стояла задача снизить нагрузку на базу данных и повысить производительность apache. Самое смешное, что служба хостера (не будем называть какого) от работ отказалась. Видимо они предпочли откинуться в своем массажном кресле и наблюдать за этим со стороны. Пришлось делать все самому.
Сначала для оптимизации apache я выключил опцию защиты от символических ссылок SymLinksIfOwnerMatch и включил FollowSymLinks. Данное изменение вызвало небольшой прирост к производительности за счет снижения количества запросов Istat при каждом обращении к скрипту.
Далее было принято решение вынести все настройки сервера из файла .htaccess во всех родительских и дочерних каталогах в httpd.conf. Результат следующий: вместо того, чтобы подгружать настройки сервера каждый раз при загрузке страницы, они обрабатывались только один раз при запуске apache. Данная настройка позволила сэкономить до 7% производительности скрипта при загрузке.
Сделать это можно с помощью директивы Include в конце файла httpd.conf и создания фиктивного файла настройки сервера htaccess-file.conf:
Include conf.d/htaccess-file.conf
При этом следует удалить оригинальные .htaccess файлы, чтобы не они не загружались при загрузке скриптов.
О том как настроить базу данных на быстрый отклик, читайте в предыдущей статье.