Настройка производительности

Перейдите на вкладку Performance Tuning (Настройка производительности), чтобы определить желаемое максимальное количество дочерних процессов сервера, а также параметры Apache для соединений пользователей. В большинстве случаев подходят значения этих параметров по умолчанию. Изменение этих параметров может повлиять на производительность вашего Web сервера в целом.

Рисунок 14-15. Настройка производительности

Параметр Max Number of Connections (Максимальное количество соединений) определяет максимальное количество одновременных запросов пользователей, которое сможет обрабатывать сервер. Для каждого соединения создается один дочерний процесс httpd. После достижения максимального количество процессов, никто больше не сможет соединиться с Web сервером до тех пор, пока какой-либо из дочерних процессов не освободится. Вы не можете присвоить этому параметру значение, большее 256, без перекомпиляции Apache. Этот параметр соответствует указанию MaxClients.

Параметр Connection Timeout (Таймаут соединения) определяет время (в секундах), которое ваш сервер будет ждать приема или передачи информации во время соединения. Точнее, Connection Timeout определяет, сколько ваш сервер будет ждать получения GET-запроса, сколько он будет ждать получения TCP-пакетов в ответ на POST или PUT запросы и как сколько будет ждать между ACK-ответами на TCP пакеты. По умолчанию, таймаут соединения равен 300 секундам, это вполне подходящее значение в большинстве случаев. Этот параметр соответствует указанию TimeOut.

Параметр Max requests per connection (Максимум запросов для соединения) определяет количество запросов, разрешённых в течение постоянного соединения. Значение по умолчанию: 100, подходит в большинстве случаев. Этот параметр соответствует указанию MaxRequestsPerChild.

Если вы установите флажок Allow unlimited requests per connection (Допускать неограниченное количество запросов для соединения), параметр MaxKeepAliveRequests станет равным 0, тем самым будет разрешено неограниченное количество запросов.

Если вы снимите флажок Allow Persistent Connections (Разрешить постоянные соединения), параметр KeepAlive примет значение "ложь". Если же вы его установите, параметр KeepAlive примет значение "истина", а параметр KeepAliveTimeout будет равен числу, выбранному в поле Timeout for next Connection (Таймаут для следующего соединения). Этот параметр определяет время (в секундах), в течение которого сервер сохраняет соединение, ожидая следующего запроса, после обработки текущего, и по истечению которого соединение будет закрыто. Как только очередной запрос получен, снова применяется значение Connection Timeout (Таймаут соединения).

Определение большого значения параметра Persistent Connections (Постоянные соединения) может замедлить работу сервера, в зависимости от количества пользователей, пытающихся к нему подключиться. Чем больше это значение, тем больше процессов будут ждать очередного запроса пользователя, соединение с которым сохраняется.