BigAp.ru — интернет-магазин электроники и бытовой техники

Автор Тема: Описание параметров Apache (TimeOut, KeepAlive, StartServers и т.п.)  (Прочитано 2658 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sysadmin

  • Administrator
  • сисадми́н
  • *****
  • Сообщений: 8485
  • Karma: +113/-0
  • Пол: Мужской
    • Share Post
    • сайт для сис. админов и не только...
Основные параметры с которыми приходится сталкиваться - TimeOut, KeepAlive, StartServers, MaxKeepAliveRequests, KeepAliveTimeout, MinSpareServers, MaxSpareServers, ServerLimit, MaxClients, MaxRequestsPerChild, периодически приходится вспоминать для чего нужен тот или иной параметр, в связи с чем пишу описания ниже:

TimeOut   300 (по умолчанию)
Время ожидания (в секундах), прежде чем попытки приема или отправления выдают сообщение о тайм-ауте.

KeepAlive   On (по умолчанию)
Допускаются ли персистентные соединения. Для запрета укажите Off.

Персистентное соединение (persistent connection, keep-alive) - тип виртуального соединения между сервером и клиентом, при котором сервер может обслуживать более одного запроса от одного и того же клиента в рамках одного и того же соединения, т.е. которое не завершается сразу, как только сервер обслужил тот первый запрос клиента, ради которого данное соединение было установлено, а ждет поступления дальнейших запросов по тому же каналу.

MaxKeepAliveRequests   100 (по умолчанию)
Максимальное количество запросов при одном персистентном соединении.

Значение 0 снимает ограничения (разрешено неограниченное количество запросов).
Для максимального быстродействия рекомендуется высокое значение.

KeepAliveTimeout   15 (по умолчанию)
Время ожидания (в секундах) следующего запроса от того же клиента в рамках одного персистентного соединения.

StartServers   5 (по умолчанию)
Директива StartServers устанавливает число дочерних процессов, созданных при запуске сервера.
Поскольку число процессов динамически меняется в зависимости от нагрузки, то обычно нет необходимости настраивать этот параметр.

MinSpareServers   5 (по умолчанию)
Директива MinSpareServers устанавливает желательное минимальное число неиспользуемых* дочерних процессов сервера.
Если свободных процессов меньше, чем значение MinSpareServers, то родительский процесс создает новые дочерние процессы с максимальной частотой по 1 в секунду.

Настройка этого параметра необходима только на очень загруженных сайтах.
Увеличение этого параметра к большому числу - почти всегда плохая идея!

MaxSpareServers   10 (по умолчанию)
Директива MaxSpareServers устанавливает желательное максимальное число неиспользуемых* дочерних процессов сервера.
Если есть больше чем MaxSpareServers неиспользуемых процессов, то родительский процесс убьет лишние.

Настройка этого параметра необходима только на очень загруженных сайтах. Увеличение этого параметра к большому числу - почти всегда плохая идея!
Если попытаться установить значение ниже, чем MinSpareServers, то Apache автоматически присвоит это к MinSpareServers + 1.

ServerLimit
Для prefork MPM эта директива устанавливает максимальное значение MaxClients на протяжении всей жизни процесса сервера Apache.

Используя эту директиву будте особенно осторожны!
Если значение ServerLimit установить намного выше необходимого, то свободная совместно используемая память будет занята (ассигнована, allocated).
Если ServerLimit и MaxClients установить выше, чем система может обрабатывать, то Apache может не запустится или система станет нестабильной.

Используйте эту директиву с prefork MPM, только если Вы хотите установить MaxClients выше чем 256 (default).
Не устанавливайте значение этой директивы ни на сколько выше чем значение, установленное в MaxClients.

У ServerLimit предельное значение 20000, даже, если указать больше (для избежания нежелательных эффектов, вызванных опечатками).

MaxClients
Это самый важный параметр prefork MPM, задающий максимальное число дочерних процессов, которым разрешено запустится (которые будут созданы для обработки запросов).
Значение выставляется большим, чтобы обрабатывать одновременно много запросов, а меньшим для снижения потребления памяти!
Сколько Вы укажите в этой диррективе, столько и будет у Вас процессов вставать в очередь на выполнение.

MaxRequestsPerChild   10000 (по умолчанию)
Управляет, как часто сервер перерабатывает процессы, убивая старые и начиная (запуская) новые, т.е здесь указывается число запросов, которое позволено обрабатывать дочернему процессу до переполнения.

Эта дирректива полезна для того, чтобы избежать проблем при длительной непрерывной работе, если Apache (или используемые им библиотеки), допускают утечку памяти или других ресурсов, так как при переполнении дочерний процесс будет принудительно завершен.
На большинстве систем это не требуется, но некоторые страдают заметными утечками в библиотеках.
Установка значения в 0 снимает ограничения.

Для запросов KeepAlive, только первый запрос подсчывается к пределу MaxRequestsPerChild. В действительности, это меняет действие ограничения числа связей с дочерним процессом.

Взято от сюда, спасибо автору )
дорогу осилит идущий...
......................
MCP, MCTS, RHCSA
......................
also aka xck...

 


xx
примечание по KeepAlive для Apache

Автор sysadmin

2 Ответов
1336 Просмотров
Последний ответ Июнь 04, 2013, 05:46:20 pm
от sysadmin
xx
Linux - task timeout more than 120 seconds

Автор sysadmin

0 Ответов
832 Просмотров
Последний ответ Июль 12, 2016, 04:10:46 pm
от sysadmin
xx
mod_fcgid: read data timeout in 40 seconds

Автор sysadmin

0 Ответов
554 Просмотров
Последний ответ Апрель 09, 2016, 07:27:51 am
от sysadmin
xx
[Решено] Просмотр параметров RAID LSI Logic

Автор sysadmin

0 Ответов
2732 Просмотров
Последний ответ Май 11, 2011, 11:55:22 am
от sysadmin