As always, at the end of the project, all sorts of unpleasant things pop up unexpectedly, and it turned out that the project pages written in Zend Framework are generated from 300 ms to 1s on a bright laptop with an accelerator enabled. The ab benchmark also gave a disappointing 4 requests per second. Taking XDebug in my hands, I went in search of truth.
The longest generated directory page with 10 items + a block of several directory items on each page. It turned out that 90% is occupied by the Zend_Currency component, which is simply responsible for formatting the price according to the locale. For this, a helper was written that was invoked in a template. Just commenting out two lines I got the page generation time within 100ms and ab already shining with promising 40 requests per second.
Zend_Currency is based on Zend_Locale, which in turn uses 6 megabytes of XML files to store its data. So it turned out that I had a few hundred kb of XML at least 5 times per page.
To be fair, it should be noted that the documentation for the framework indicates how to optimize the speed of these components, it is recommended to use caching. But not too much fuss for such little things?
After the standard methods for the framework described in many places brought the speed to 65 requests per second by ab, but the unpleasant sediment remained.