<div dir="auto"><div>Thanks for the reply.<div dir="auto"><br></div><div dir="auto">Can this keepalive_time be made infinite ?</div><div dir="auto">So that connection is not broken after default 1hr</div><div dir="auto"><br></div><div dir="auto"><br></div>Regards,</div><div dir="auto">Vishwas</div><div dir="auto"><br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Sat, Jan 21, 2023, 05:32 Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<br>
On Fri, Jan 20, 2023 at 11:37:15AM +0530, Vishwas Bm wrote:<br>
<br>
> I see that from 1.19.10 keepalive_time has been added.<br>
> <a href="http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_time" rel="noreferrer noreferrer" target="_blank">http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_time</a><br>
> <br>
> Also keepalive_timeout is present for idle connection<br>
> <a href="http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_timeout" rel="noreferrer noreferrer" target="_blank">http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_timeout</a><br>
> <br>
> On checking the behaviour between these two, I see that keepalive_time is<br>
> having higher precedence over keepalive_timeout.<br>
> Even if connection is not idle based on keepqlive_timeout, connection is<br>
> still  getting closed because of keepalive_time.<br>
> <br>
> Is this expected behaviour?<br>
> Also can I set keepalive_time to higher value say 24hours ? Any drawbacks<br>
> with this ?<br>
> Can this keepalive_time be disabled and priority given only to<br>
> keepalive_timeout ?<br>
<br>
The "keepalive_time" is a directive to limit total lifetime of the <br>
connection, making it possible to free any resources associated <br>
with the connection, notably allocated memory.  Further, in some <br>
setups it might be important to periodically redo connection <br>
authentication, notably re-validate peer certificates.<br>
<br>
The "keepalive_time" directive is mostly equivalent to <br>
keepalive_requests, which is documented as follows:<br>
<br>
: Closing connections periodically is necessary to free <br>
: per-connection memory allocations. Therefore, using too high <br>
: maximum number of requests could result in excessive memory usage <br>
: and not recommended.<br>
<br>
Note though that keepalive_time is 1 hour by default, and reopening <br>
connections once per hour is not expected to have any performance <br>
impact.  Rather, it is expected to be a hard limit on the total <br>
connection lifetime on connections which are mostly idle and <br>
therefore do not reach the "keepalive_requests" limit in a <br>
reasonable time.<br>
<br>
-- <br>
Maxim Dounin<br>
<a href="http://mdounin.ru/" rel="noreferrer noreferrer" target="_blank">http://mdounin.ru/</a><br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org" target="_blank" rel="noreferrer">nginx@nginx.org</a><br>
<a href="https://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer noreferrer" target="_blank">https://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</blockquote></div></div></div>