Как всегда неожиданно в конце проекта всплывают всякие неприятные вещи, так и у меня выяснилось, что страницы проекта написанного на Zend Framework генерятся от 300 мс до 1с на шустром ноутбуке с включенным акселератором. Бенчмарк ab тоже выдавал неутешительные 4 запроса в секунду. Взяв в руки XDebug я отправился на поиски истины.

Дольше всего генерилась страница каталога с 10 элементами+блок из нескольких элементов каталога на каждой странице. Выяснилось, что 90% занимает работа компонента Zend_Currency, который просто отвечает за форматирование цены согласно локали. Для этого был написан хелпер, который вызывался в шаблоне. Просто закомментировав две строчки я получил время генерации страницы в пределах 100мс и ab уже светил обнадеживающими 40 запросами в секунду.
Zend_Currency основывается на Zend_Locale, который в свою очередь для хранения своих данных использует 6 мегабайт XML-файлов. Вот и получилось, что у меня минимум 5 раз на страницу парсилось несколько сотен кб XML.
Справедливости ради надо отметить, что в документации к фреймворку указано как можно оптимизировать скорость работы этих компонентов, рекоменуется использовать кеширование. Но не слишком ли много возни ради такой мелочи?
После стандартными методами для фреймворка описанными во многих местах довел скорость до 65 запросов в секунду по ab, но неприятный осадок остался.