Пики памяти PHP на производственном сервере - PullRequest
2 голосов
/ 04 октября 2011

У меня есть 2 сервера: мой локальный сервер и удаленный производственный сервер. У них в основном одинаковая конфигурация: Ubuntu 10.10, Apache 2, PHP 5.3, PHP-APC, MYsql и т. Д. У меня также есть копии веб-приложений на обоих серверах, и вот проблема с PHP:

На моем локальном сервере веб-приложение использует только ~ 4 МБ памяти, но на моем производственном сервере использование памяти увеличивается до 50 МБ без веской причины. Я попытался запустить функцию memory_get_peak_usage (), чтобы получить использование памяти на разных этапах выполнения веб-приложения, и обнаружил, что на производственном сервере скачки памяти от 0,7 до 49 МБ при таких вызовах функций, как class_exists ().

В чем может быть проблема?

Танки.

Ответы [ 2 ]

0 голосов
/ 05 октября 2011

Хорошо, я нашел, где была проблема. Есть класс, который создавал кеш-файл, содержащий информацию в браузере пользователя (чтобы распознать их позже). Видимо, была проблема с этим файлом и / или анализатором, поэтому он использовал слишком много памяти. С тех пор я очистил кеш-файлы, и если ситуация повторится, я полностью исключу этот класс.

Спасибо всем, кто ответил / прокомментировал проблему.

0 голосов
/ 04 октября 2011

Не хочется показаться скучным, но вы убедились, что они имеют точно такую ​​же конфигурацию Apache / PHP, поскольку они могут легко стать источником такого рода различий. Также они испытывают такую ​​же нагрузку, что и выполняющийся кодна загруженном сервере может вести себя совсем иначе, чем код, выполняющийся с достаточным количеством неоспоримых ресурсов.

Существуют ли какие-либо другие различия в отношении других запущенных приложений, которые могут повлиять на содержимое?

Возможно, стоит профилироватькод на обоих серверах, чтобы увидеть, есть ли какие-либо различия для каждого запроса, XHprof [1] является отличным инструментом для этого, и его можно безопасно запускать в производстве (если вы читаете инструкции)

[1] http://phpadvent.org/2010/profiling-with-xhgui-by-paul-reinheimer

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...