Mercurial > hg > nginx
view docs/GNUmakefile @ 8125:cffaf3f2eec8
Lingering close for connections with pipelined requests.
This is expected to help with clients using pipelining with some constant
depth, such as apt[1][2].
When downloading many resources, apt uses pipelining with some constant
depth, a number of requests in flight. This essentially means that after
receiving a response it sends an additional request to the server, and
this can result in requests arriving to the server at any time. Further,
additional requests are sent one-by-one, and can be easily seen as such
(neither as pipelined, nor followed by pipelined requests).
The only safe approach to close such connections (for example, when
keepalive_requests is reached) is with lingering. To do so, now nginx
monitors if pipelining was used on the connection, and if it was, closes
the connection with lingering.
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=973861#10
[2] https://mailman.nginx.org/pipermail/nginx-devel/2023-January/ZA2SP5SJU55LHEBCJMFDB2AZVELRLTHI.html
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 02 Feb 2023 23:38:48 +0300 |
parents | f303f3e43f7b |
children | 1bc938b270dc |
line wrap: on
line source
VER= $(shell grep 'define NGINX_VERSION' src/core/nginx.h \ | sed -e 's/^.*"\(.*\)".*/\1/') NGINX= nginx-$(VER) TEMP= tmp XSLS?= xslscript.pl all: changes changes: $(TEMP)/$(NGINX)/CHANGES.ru \ $(TEMP)/$(NGINX)/CHANGES $(TEMP)/$(NGINX)/CHANGES.ru: docs/dtd/changes.dtd \ docs/xml/nginx/changes.xml \ docs/xml/change_log_conf.xml \ docs/xslt/changes.xslt mkdir -p $(TEMP)/$(NGINX) xmllint --noout --valid docs/xml/nginx/changes.xml xsltproc --stringparam lang ru \ -o $@ docs/xslt/changes.xslt docs/xml/nginx/changes.xml $(TEMP)/$(NGINX)/CHANGES: docs/dtd/changes.dtd \ docs/xml/nginx/changes.xml \ docs/xml/change_log_conf.xml \ docs/xslt/changes.xslt mkdir -p $(TEMP)/$(NGINX) xmllint --noout --valid docs/xml/nginx/changes.xml xsltproc --stringparam lang en \ -o $@ docs/xslt/changes.xslt docs/xml/nginx/changes.xml docs/xslt/changes.xslt: docs/xsls/changes.xsls $(XSLS) -o $@ $<