Как я могу ускорить время отклика кеша кода операции?
У меня довольно мощный VPS (четырехъядерный Xeon, 3 ГБ RAM, SSD), работающий под управлением Ubuntu 12.10, PHP 5.5.8 и кэш кода операции.
Я использую memcached, кэш кода операции и mod_pageSpeed.
Я наблюдаю за приложением, используя New Relic.
Проблема в том, что независимо от того, что я пробовал, увеличивая ограничения памяти, размеры кэша и т. Д., Я не могу получить время ответа на запрос ниже примерно 80 мс.
База данных работает под управлением Percona, тратит около 40 мс на запрос, а PHP тратит около 40 мс на запрос.
Все запросы обрабатываются из скомпилированного кэша OpCode, поэтому я не понимаю, откуда берется вся задержка.
Что мне не хватает?
Благодарю. Заранее извиняюсь, если я пропустил какую-то важную информацию, все может быть предоставлено по запросу.
1 ответ
Кэш кода операции не "компилирует, выполняет и кэширует результат". По первому запросу ваш PHP-код компилируется в байт-код, этот байт-код сохраняется и затем выполняется. При последующих запросах сохраненный байт-код выполняется. Без кэша кода операции код PHP будет компилироваться в байт-код при каждом запросе.
Если вы хотите кэшировать выходные данные, сгенерированные вашей программой, и обслуживать ее, а не выполнять вашу программу при каждом запросе, вам необходимо изучить дополнительные методы кэширования.