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

Проблема с производительностью Apache, PHP и Symfony

Обновлено:

================================================== ============== Я наконец нашел причину в oprofile. Это произошло потому, что кеш маршрутизации Symfony. У нас много страниц с разными URL-адресами, и symfony кеширует их в один файл (сериализованные данные). Таким образом, файл кеша становится большим, и ему требуется больше ЦП для сериализации и десериализации данных.

Все прошло хорошо после того, как я отключил кеш маршрутизации

================================================== ==============

У нас есть три веб-сервера с LVS (Apache 2.11 + PHP 5.26), и мы используем Symfony 1.0 для разработки наших продуктов.

Но недавно мы обновили наши продукты до Symfony 1.2.7, и у нас возникла критическая проблема с производительностью.

Мы используем Ganglia для мониторинга наших серверов. До обновлений средняя нагрузка на веб-серверы была ниже 1. После обновлений нагрузка резко возрастает с загрузкой 80 наверху (я вижу, что загрузка ЦП сильно возрастает из Ganglia).

Не могу найти причин. Это из-за фреймворка Symfony? (Но согласно Ganglia, нагрузка не должна увеличиваться так быстро).

Кстати, в наших новых продуктах используется много AJAX, а это значит, что для открытия одной страницы требуется как минимум 5-7 PHP-запросов. Это причина?

Может ли кто-нибудь помочь мне найти все возможные причины? Или какую еще информацию я должен предложить для диагностики?

Заранее спасибо и с нетерпением жду вашего ответа ~

Наконец-то я нашел причину в опрофиле. Это произошло потому, что кеш маршрутизации Symfony. У нас много страниц с разными URL-адресами, и symfony кеширует их в один файл (сериализованные данные). Таким образом, файл кеша становится большим, и ему требуется больше ЦП для сериализации и десериализации данных.

Все прошло хорошо после того, как я отключил кеш маршрутизации