После первого тестового переключения страницы на новой инфраструктуре открывались медленнее. Увеличение размера и производительности дисков не изменило результат, поэтому проблему продолжили исследовать на уровне приложения.
Для одной из тяжелых страниц подготовили PHP-профайлер. Он измерял авторизацию, генерацию страницы, число SQL-запросов, длительность отдельных запросов и потребление памяти.
Профилирование показало две разные причины задержек.
Первая была связана с непрогретым кешем. На новом стенде приложение выполняло дополнительные запросы за метаданными, настройками модулей и пользовательскими полями. После заполнения Memcached число SQL-запросов сократилось с нескольких десятков до двух.
Вторая причина находилась в запросе подсчета данных по таблице примерно на 10 млн строк. Он занимал около 2,3−2,6 секунды на обеих инфраструктурах. Это подтвердило, что проблема не связана с новыми серверами и требует изменения логики приложения, например кеширования результата.
После разделения хранилищ сессий и прогрева кеша время генерации страниц приблизилось к показателям исходного production.