Процесс Httpd Высокое использование памяти и медленная загрузка страниц - PullRequest
3 голосов
/ 05 мая 2010

Я использую wampserver на моем компьютере с Windows Vista. Я делал это в течение долгого времени, и это работало отлично. Я выполнил множество проектов с этой настройкой.

Однако сегодня, когда я ничего не меняю (без конфигурации и т. Д.), Меняются только PHP-код, я нахожу, что каждый раз, когда я загружаю страницы своего сайта (те, у которых есть пользовательские сессии или доступ к базе данных), загрузка происходит очень медленно - более 30 секунды, они используют, чтобы занять 1 или 2 секунды.

Когда я смотрю на диспетчер задач, я вижу на странице загрузки процесса httpd скачки с 10 МБ до 30 МБ, 90 МБ, 120 МБ, 250 МБ и затем обратно вниз.

Я тестировал предыдущие проекты php-кода, и они, кажется, тоже все медленные!

Что происходит?

Спасибо всем за любую помощь в этом вопросе путаницы!

Ответы [ 5 ]

1 голос
/ 11 мая 2010

, хотя это не связано с поиском узких мест в базе данных, XDebug в сочетании с средством просмотра cachegrind (например, WebGrind , WinCacheGrind ) может помочь вам найти часть вашего PHP-код, который выполняется дольше всего.

1 голос
/ 11 мая 2010

Я удивлен, что никто не предложил это. Вы всегда должны пытаться понять, почему вещи действительно замедляются:

Сначала используйте монитор производительности, чтобы увидеть узкое место. (Perfmon.exe) Является ли жесткая ошибка страницы на самом деле узким местом? Ваш жесткий диск занят чтением / записью в файл подкачки? Проверьте длину очереди ввода-вывода для жесткого диска. Процессоры заняты?

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

Надеюсь, это поможет.

1 голос
/ 10 мая 2010

Попробуйте проверить размер ваших файлов журнала Wamp.

т.е.

C:\wamp\logs

Иногда, когда они становятся действительно большими, они могут вызвать замедление работы Apache.

1 голос
/ 10 мая 2010

Недавно вы изменили конфигурацию сети или обновили систему? Это может быть причиной этой проблемы через конфигурацию вашей сети или антивирусное / защитное программное обеспечение. У людей были проблемы с зонной сигнализацией, вызывающие это, например, в прошлом.

Кроме того, если вы недавно перешли от ввода «127.0.0.1» к «localhost» или переместились по сетям, вы можете извлечь выгоду из удаления параметра localhost IPV6 из C: \ Windows \ System32 \ drivers \ etc \ hosts, если у вас есть один:

изменить строку с

::1             localhost

до

# ::1             localhost
1 голос
/ 07 мая 2010

Проверьте следующее:

  • Убедитесь, что ваша библиотека доступа к данным для доступа к вашей базе данных была изменена / обновлена ​​в последнее время (если вы ее используете).
  • Просто предположение, но изменили ли вы свой антивирус / брандмауэр (или настройки) с момента последней проверки тех предыдущих проектов? Более агрессивная защита может сильно замедлять процесс.
  • Вы изменили версию Apache / PHP / MySQL в меню WAMPSERVER?
  • Может быть, вы можете попытаться переустановить WAMPSERVER (сделайте это в последнюю очередь, и если это не доставляет вам хлопот, потому что я действительно сомневаюсь, что это поможет, но в некоторых действительно очень странных случаях).

Но из опыта и использования памяти, которое вы объясняете в своем вопросе, кажется , что ваши запросы SQL выполняются долго и / или возвращают действительно большой набор данных.

Попытайтесь оптимизировать свои запросы, это может помочь в скорости, но на самом деле не использует память (по крайней мере, если набор результатов такой же). Что касается памяти, может быть, вы можете использовать LIMIT , чтобы уменьшить ваш возвращаемый набор данных (если ваш дизайн это позволяет - но он должен).

Поскольку мы на самом деле не знаем, что вы делаете с вашими данными, обратите внимание, что «воспроизведение» (например, анализ больших XML-документов) с большими наборами данных может занять много времени / памяти (опять же, это зависит от того, что вы делаете с все эти данные).

Итог, если ничего в этом посте не поможет, попробуйте опубликовать больше информации о ваших настройках и о том, что именно вы делаете (даже с примерами кода), когда это медленно.

...