у нас есть 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
Значение «Вкл.» Потенциально может не отправлять что-либо клиенту до тех пор, пока не будет достигнут конец скрипта, и будет казаться, что ваши страницы долго загружаются.
Также попробуйте:
EnableMMAP выключен
EnableSendfile off
Win32DisableAcceptEx
Обратите внимание, что замедление может быть связано с плохо написанным / разработанным PHP-кодом, который медленно обрабатывается или увеличивает размер каждого потока Apache (загружаемые файлы, читаемые / передаваемые через PHP, будут делать это).
Определите «большое количество посетителей»?
Вы проверили логи?
Проверили ваш сервер?
Вы уверены, что причиной зависания является Apache, а не просто веб-приложение, которое вы запускаете поверх Apache?
ИМХО вашему вопросу не хватает соответствующей информации, чтобы дать твердый ответ.