Назад | Перейти на главную страницу

Как я могу ускорить время отклика кеша опкодов?

У меня есть умеренно мощный VPS (четырехъядерный Xeon, 3 ГБ оперативной памяти, ssd) под управлением Ubuntu 12.10, PHP 5.5.8 и включен кеш Opcode.

Я использую memcached, opcode cache и mod_pageSpeed.

Я слежу за приложением с помощью New Relic.

Проблема в том, что независимо от того, что я пробовал, увеличивая лимиты памяти, размеры кеша и т.д., я не могу получить время ответа на запрос ниже 80 мс.

В базе данных работает Percona, которая тратит около 40 мс на запрос, а PHP тратит около 40 мс на запрос.

Все запросы обслуживаются из скомпилированного кеша OpCode, поэтому я не понимаю, откуда берется вся задержка.

Что мне не хватает?

Спасибо. Заранее извиняюсь, если я пропустил важную информацию, все может быть предоставлено по запросу.

Кэш опкодов не «компилирует, не выполняет и не кеширует результат». По первому запросу ваш PHP-код компилируется в байт-код, этот байт-код сохраняется, а затем выполняется. При последующих запросах выполняется сохраненный байт-код. Без кеша кода операции код PHP будет компилироваться в байт-код во время каждого запроса.

Если вы хотите кэшировать вывод, сгенерированный вашей программой, и обслуживать его, а не выполнять вашу программу по каждому запросу, вам необходимо изучить дополнительные методы кэширования.