Проблема производительности с php / apache / windows. Сброс соединения - PullRequest
0 голосов
/ 08 ноября 2011

У меня довольно большая проблема с производительностью сайта. Это сайт php на Apache на Windows Server 2003.

Веб-сайт в основном падает с «соединение было сброшено» или «не удается загрузить веб-страницу» довольно часто. Процесс httpd в Windows занимает около 100 МБ при обычном трафике, при этом около 1 ГБ памяти остается свободным

Это первый раз, когда я размещаю php-сайт в Windows (в этом случае требовались окна), и я не уверен, какие у меня варианты

Спасибо

Журнал Apache отображает следующее (извините за то, что вставил его таким образом, по какой-то причине не смог сделать это как «блок кода». Это, конечно, не выглядит правильным. Есть идеи, что может происходить?

[вторник, ноябрь 16:44:43 2011] [извещение] Родитель: полученный сигнал перезапуска - Перезапуск сервера.

[вторник, ноябрь 16:44:43 2011] [извещение] Ребенок 2072: сигнал о выходе из системы. Дочерний процесс заканчивается.

httpd.exe: Не удалось надежно определить, что сервер полностью квалифицирован доменное имя, используя 192.168.67.1 для ServerName

[вторник, ноябрь 16:44:44 2011] [примечание] Apache / 2.2.17 (Win32) mod_ssl / 2.2.17 OpenSSL / 0.9.8o PHP / 5.2.17 настроен - возобновление нормального операции

[вторник, ноябрь 16:44:44 2011] [извещение] Сервер построен: 18 октября 2010 г. 01: 58: 12

[вторник, ноябрь 16:44:44 2011] [примечание] родитель: создан дочерний процесс 7692

httpd.exe: не удалось надежно определить, что сервер полностью квалифицирован доменное имя, используя 192.168.67.1 для ServerName

httpd.exe: Не удалось надежно определить, что сервер полностью квалифицирован доменное имя, используя 192.168.67.1 для ServerName

[вторник, ноябрь 16:44:44 2011] [извещение] Дитя 2072 года: выпущено начало мьютекс

[вторник, ноябрь 16:44:44 2011] [извещение] Ребенок 7692: дочерний процесс работает

[вторник, ноябрь 16:44:44 2011] [извещение] Ребенок 7692: начало получено мьютекс.

[вторник, ноябрь 16:44:44 2011] [извещение] Ребенок 7692: 1000 рабочих резьб.

[вторник, ноябрь 16:44:44 2011] [извещение] Ребенок 7692: начало темы прослушивать порт 2090.

[вторник, ноябрь 16:44:44 2011] [извещение] Ребенок 7692: начало темы прослушивать порт 8011.

[вторник, ноябрь 16:44:44 2011] [извещение] Ребенок 7692: начало темы прослушивать порт 8080.

[вторник, ноябрь 16:44:44 2011] [извещение] Ребенок 7692: начало темы прослушивать порт 443.

[вторник, ноябрь 16:44:44 2011] [извещение] Ребенок 7692: начало темы прослушивать порт 80.

[вторник, ноябрь 16:44:45 2011] [примечание] Родитель: дочерний процесс завершен с статус 0 - перезапуск.

httpd.exe: не удалось надежно определить, что сервер полностью квалифицирован доменное имя, используя 192.168.67.1 для ServerName

Средство просмотра событий Windows выдает следующее

Ошибка - VsJITDebugger. Произошло необработанное исключение win32 в httpd.exe [4416]. Just-In-Time отладка этого исключения завершилась со следующей ошибкой: Не удалось запустить отладчик, потому что ни один пользователь не вошел в систему.


Может кто-нибудь помочь с этим?

То, что «[note] Parent: дочерний процесс завершился со статусом 0 - Restarting», описывает проблему здесь. То это описывает это очень расплывчато. Сервер в основном перезагружается сам по себе каждые несколько минут. Я снял сайт с удерживающей страницы, и ошибка и перезапуск не произошли. Я добавил HTML-страницу и разбомбил ее комбинациями запросов, используя AB. Он всегда будет аварийно завершать работу при запросах, близких к числу ThreadsPerChild, указанному в конфигурации mpm, который я установил равным 1000. Каждое аварийное завершение сопровождается ошибкой

apr_socket_recv: Существующее соединение было принудительно закрыто удаленным хостом. (730054)

Эта ошибка отображается только при тестировании. Ничего подобного не появляется в журнале Apache. Как только я переключаю сайт в живую, он начинает падать каждые несколько минут. Сайт генерирует около 100 запросов на страницу, а также использует 2-3 вызова ajax на страницу (при загрузке)

Я часами искал в Интернете возможные решения. Не нашел ничего подходящего. У меня совершенно нет вариантов. У меня даже нет опыта запуска apache на windows, так как в течение 5 лет я работаю в бизнесе, мне никогда не приходилось запускать php-сайты под Windows. Я не видел такой ошибки на Linux ни

1 Ответ

0 голосов
/ 08 ноября 2011

Есть два места, где вы должны взглянуть:

  • Обычные журналы Apache, расположенные в папке журналов внутри установки Apache.
  • Средство просмотра событий Windows, расположенное в элементе управления Windowsпанель

В частности, вторая будет регистрировать сбои Apache и, возможно, будет раскрывать дополнительную информацию.

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