В Apache KeepAlive — параметр определяющий принципы работы с открытым соединением: опереляющий следует ли его держать открытым какое-то время или сразу закрыть после того как передача данных произошла.
В конфигурационном файле это директивы KeepAlive с возможными значениями On и Off (если параметр не указывать, то используется Off), а также KeepAliveTimeout. Последний имеет значение при включенном удержании соединения и задается в секундах.
Apache Keepalive и закрытие соединения
Apache один раз ответив на запрос пользователя закрывает соединение, если следом от него поступает новый запрос соединение снова открывается и процесс передачи данных повторяется.
Это довольно ресурсозатратный процесс, на установку соединения также уходит какое-то время.
Apache Keepalive позволяет держать соединение открытым указанное в конфигурационном файле количество секунд и быстрее отвечать на повторные запросы пользователя.
В конфигурационном файле директивы могут выглядеть так:
KeepAlive On
KeepAliveTimeout 20
KeepAliveTimeout больше 60 обычно не выставляют, удержание соединения обеспечивается и небольшими значениями — держать его постоянно особого смысла не имеет.
Их использование оправдано когда имеют место повторные обращения. Если сервер обслуживает новостной портал, информационный ресурс, блог и т.п. опцию нужно использовать.
Она не нужна только тогда когда типичным поведением пользователя является однократное обращение по какой-то ссылке — вызов одного скрипта на отправку письма с landing-page или скачивание определенного файла с сервера.
Читайте про оптимизацию Apache для работы при высоких нагрузках.