Плюсы и минусы Keep-Alive со стороны веб-сервера - PullRequest
6 голосов
/ 09 августа 2010

Функция соединения Keep-Alive в протоколе HTTP предназначена для уменьшения количества хитов TCP-соединения с веб-сервером. Это должно быть в состоянии улучшить производительность веб-сервера. Однако я обнаружил, что некоторые веб-серверы намеренно отключают функцию KeepAlive на стороне сервера.

В моем понимании, некоторый обратный прокси-сервер, то есть HAProxy, отключает поддержку активности HTTP, чтобы уменьшить использование памяти, которое в некоторых ситуациях более критично, чем использование процессора.

Есть ли другая причина, по которой веб-сервер отключает Keep-Alive?

1 Ответ

7 голосов
/ 03 августа 2012

На самом деле Keep-Alive предназначен для повышения производительности HTTP, а не производительности сервера (хотя для SSL-соединений это снижает стоимость повторного согласования шифрования на сервере).Большой выигрыш заключается в количестве поездок туда и обратно, которые браузер должен сделать, чтобы получить контент.С Keep-Alive браузер устраняет необходимость полного обхода для каждого запроса после первого, обычно сокращая время полной загрузки страницы вдвое.

Keep-Alive увеличивает нагрузку на сервер, поэтому некоторые провайдеры общего хостинга отключают его,Каждое открытое соединение потребляет память, а также файловый дескриптор (linux), а в крайних случаях (некоторые конфигурации Apache) оно может иметь отображение 1: 1 из соединений с процессами.

...