2015-01-07 6 views
0

Мы постоянно проводим опрос нашего сервера nginx каждые 5 секунд, используя keep-alive для открытия соединения.nginx infinite keepalive_requests

По умолчанию keepalive_requests установлено равным 100, поэтому после 100 запросов на соединение keep-alive nginx отключается.

В настоящее время мы установили keepalive_requests на очень большое количество, чтобы решить эту проблему, однако есть ли способ сделать ее бесконечной?

Мы хотим держать соединение открытым неограниченное время, независимо от того, сколько запросов сделано на одном и том же соединении с живым подключением. keepalive_timeout достаточно для нас.

ответ

2

В настоящее время единственный способ сделать это - изменить источник. Это соответствующий код within nginx:

if (r->keepalive) { 
    if (clcf->keepalive_timeout == 0) { 
     r->keepalive = 0; 

    } else if (r->connection->requests >= clcf->keepalive_requests) { 
     r->keepalive = 0; 
    } else {...} 

Значение 4294967295 для keepalive_requests соответствует примерно 680 лет в 5 секунд запросов. Если вам нужно больше, я рекомендую исправление кода.