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

Apache на Windows останавливается

у нас есть apache 2.2.18, работающий на сервере Windows 2003, и когда мы получаем большое количество посетителей, apache кажется медленным, медленным и медленным, а затем полностью останавливается.

Кто-нибудь знает, почему это могло быть?

Сервер облачный с оперативной памятью 4 ГБ

Файл .conf находится здесь pastebin.ca/2070217

Апач - это зверь. Из коробки с настройками по умолчанию это уродливый зверь. Разместите httpd.conf, и кто-нибудь здесь сможет дать вам соответствующий совет по оптимизации.

Apache в Windows использует модель на основе потоков, которая по умолчанию составляет 64 потока, если вы не обновите эти значения. Каждый поток обрабатывает 1 соединение.

Мой WampDeveloper Pro конфигурация задается так:

(C: \ WampDeveloper \ Config \ Apache \ extra \ httpd-mpm.conf)

ThreadsPerChild 256
ThreadLimit 384

Затем убедитесь, что KeepAlives установлены, но на низком уровне ...

(C: \ WampDeveloper \ Config \ Apache \ extra \ httpd-default.conf)

KeepAlive On
KeepAliveTimeout 1

Внесите изменения и перезапустите Apache.

Проверьте свои URL-адреса "/ server-status" и "/ server-info" (вам может потребоваться раскомментировать некоторые строки в httpd.conf, чтобы включить их, если вы используете какой-либо другой пакет wamp).

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

Затем отредактируйте php.ini и установите разумные значения буферизации вывода:

output_buffering = 4096

Значение «Вкл.» Потенциально может не отправлять что-либо клиенту до тех пор, пока не будет достигнут конец скрипта, и будет казаться, что ваши страницы долго загружаются.

Также попробуйте:

  1. Использование mod_php вместо CGI
  2. Использование кеша кода операции PHP, такого как eAccelerator или APC.
  3. Комментируем ваши изменения в httpd.conf для:

EnableMMAP выключен

EnableSendfile off

Win32DisableAcceptEx

Обратите внимание, что замедление может быть связано с плохо написанным / разработанным PHP-кодом, который медленно обрабатывается или увеличивает размер каждого потока Apache (загружаемые файлы, читаемые / передаваемые через PHP, будут делать это).

Определите «большое количество посетителей»?

Вы проверили логи?

Проверили ваш сервер?

Вы уверены, что причиной зависания является Apache, а не просто веб-приложение, которое вы запускаете поверх Apache?

ИМХО вашему вопросу не хватает соответствующей информации, чтобы дать твердый ответ.