Apache Keepalive

В Apache KeepAlive — параметр определяющий принципы работы с открытым соединением: опереляющий следует ли его держать открытым какое-то время или сразу закрыть после того как передача данных произошла.

В конфигурационном файле это директивы KeepAlive с возможными значениями On и Off (если параметр не указывать, то используется Off), а также KeepAliveTimeout. Последний имеет значение при включенном удержании соединения и задается в секундах.

 

 

Apache Keepalive и закрытие соединения

Apache один раз ответив на запрос пользователя закрывает соединение, если следом от него поступает новый запрос соединение снова открывается и процесс передачи данных повторяется.

Это довольно ресурсозатратный процесс, на установку соединения также уходит какое-то время.

 

 

Apache Keepalive позволяет держать соединение открытым указанное в конфигурационном файле количество секунд и быстрее отвечать на повторные запросы пользователя.

 

В конфигурационном файле директивы могут выглядеть так:

KeepAlive On
KeepAliveTimeout 20

 

KeepAliveTimeout больше 60 обычно не выставляют, удержание соединения обеспечивается и небольшими значениями — держать его постоянно особого смысла не имеет.

 

Их использование оправдано когда имеют место повторные обращения. Если сервер обслуживает новостной портал, информационный ресурс, блог и т.п. опцию нужно использовать.

 

Она не нужна только тогда когда типичным поведением пользователя является однократное обращение по какой-то ссылке — вызов одного скрипта на отправку письма с landing-page или скачивание определенного файла с сервера.

 

 

Читайте про оптимизацию Apache для работы при высоких нагрузках.