У меня большая проблема, мой сервер Apache использует 50% ЦП, когда у меня много посещений, на моем веб-сайте просматривается только 30 000 страниц в день и много статического контента, но нагрузка на сервер составляет от 10% до 50%, я нахожусь на Windows. Мои текущие настройки MPM:
<IfModule mpm_winnt_module>
ThreadsPerChild 750
MaxRequestsPerChild 10000
</IfModule>
Мой сервер: Intel® Core ™ 2 Duo T5500 (2 * 1,66 ГГц), 2 ГБ ОЗУ
Как я могу решить эту проблему ?
Я предполагаю, что вы просто работаете с ограничениями своего сервера, хотя это зависит от того, что вы обслуживаете. Обслуживание небольших статических файлов 30k / день не должно вызывать эту нагрузку, но 30k / день оптимизированной CMS, такой как Drupal / Wordpress, звучит правильно. Ваш ЦП также находится на низком уровне по сравнению с выделенными серверами ... У меня есть несколько серверов Intel i3 540, которые я считаю "младшими", которые примерно в 3 раза превышают ваш процессор. Вдобавок ко всему, у вас есть накладные расходы на Windows.
Есть несколько вещей, которые вы можете сделать, чтобы подтвердить и сузить проблему: - Используйте Apache mod_status, чтобы посмотреть, какие запросы он обслуживает. Это даст вам представление о том, что сервер делает при высокой нагрузке, и может указывать на замедляющуюся страницу. - Протестируйте свой сайт с помощью ApacheBench / Siege (я не знаю, какие есть хорошие программы для тестирования Windows). Это покажет вам предел емкости вашего сайта, а также расскажет, какое влияние на его производительность оказывают выполненные вами оптимизации.
Все, что выходит за рамки этого, действительно зависит от вашего конкретного приложения и архитектуры сервера.