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

Какие значения установить для управления пулом рабочих серверов Apache 2?

Недавно я переключился с предварительного форка Apache 2.2 на рабочий Apache 2.2, но я понятия не имею, с какой конфигурации MPM лучше всего начать. На префорке я использовал:
MaxClients 256
StartServers 190
MinSpareServers 160
MaxSpareServers 220

Я хотел бы иметь возможность принимать как минимум столько же одновременных запросов (190)

Спасибо !

PS: Серверная среда: Debian 5.0, 2x 3.00 Ghz, 4 ГБ ОЗУ, выделено для Apache.

ServerLimit 256
MaxClients 256
StartServers 19
ThreadsPerChild 10
MinSpareThreads 160
MaxSpareThreads 220
MaxRequestsPerChild 10000

Это будет:

  • Запускать 190 потоков при запуске httpd
  • Обслуживайте до 256 одновременных запросов
  • Обеспечьте минимум 160 запасных ниток
  • Ограничьте до 220 запасных нитей
  • Ограничьте каждый дочерний процесс httpd обслуживанием 10 000 запросов, прежде чем заменять его новым дочерним процессом. Это помогает предотвратить зависание сервера apache в случае утечки памяти в базовом приложении.

Наконец, я использовал следующие настройки, которые работают очень хорошо:

StartServers 8
MaxClients 1024
MinSpareThreads 512
MaxSpareThreads 1024
ThreadsPerChild 64
MaxRequestsPerChild 10000

Я выбрал большие значения, поскольку предполагаемый объем памяти должен быть намного меньше. Я также заметил, что при запуске apachectl configtest (или start / stop) со странными значениями он сообщает об ошибке и автоматически регулирует настройки.