Ускоряем PHP на месте без переезда на другой сервер
Всем привет! Кто-нибудь пробовал реально поджать PHP-приложение, не меняя железо? Делюсь тем, что сам пробовал и что часто встречал.
Во-первых, кеширование — самый очевидный ход. OPCache включить обязательно, это почти всегда дает плюс. Дальше посмотреть, как дергаются запросы к базе, может, стоит добавить мемкеш или редис для часто используемых данных.
Затем можно оптимизировать сам код — убрать лишние циклы, уменьшить количество подключений файлов, проверить тяжелые вычисления. Если используете фреймворки, посмотрите профилировщик (хотя Xdebug на проде место не найдет) или Blackfire, если есть возможность.
Стоит глянуть в сторону асинхронных подходов — отложенную обработку на очередь (например, RabbitMQ или очередь в базе) — чтоб тяжелые задачи не грузили основной поток.
Еще иногда помогает сжатие и сжатый тренд — gzip на уровне веб-сервера + разумное количество воркеров PHP-FPM, чтоб не тормозило из-за блокировок.