Mercurial > hg > nginx-quic
view docs/dtd/module.dtd @ 4113:a28ba1cdec27
Buffers reuse in chunked filter.
There were 2 buffers allocated on each buffer chain sent through chunked
filter (one buffer for chunk size, another one for trailing CRLF, about
120 bytes in total on 32-bit platforms). This resulted in large memory
consumption with long-lived requests sending many buffer chains. Usual
example of problematic scenario is streaming though proxy with
proxy_buffering set to off.
Introduced buffers reuse reduces memory consumption in the above problematic
scenario.
See here for initial report:
http://mailman.nginx.org/pipermail/nginx/2010-April/019814.html
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 15 Sep 2011 15:25:42 +0000 |
parents | 5e2103cffd80 |
children |
line wrap: on
line source
<!ELEMENT module (section+) > <!ATTLIST module name CDATA #REQUIRED id ID #REQUIRED > <!ELEMENT section (directive | para)+ > <!ATTLIST section name CDATA #REQUIRED id ID #IMPLIED > <!ELEMENT directive (syntax+, default, context+, para+) > <!ATTLIST directive name ID #REQUIRED appeared-in CDATA #IMPLIED > <!ELEMENT syntax (#PCDATA | argument | code | parameter | value)* > <!ELEMENT default (#PCDATA | code)* > <!ELEMENT context (#PCDATA)* > <!ELEMENT para (#PCDATA | argument | c-def | c-func | code | command | dq | emphasis | example | header | http-status | link | list | note | parameter | pathname | value | var)* > <!ELEMENT argument (#PCDATA)* > <!ELEMENT c-def (#PCDATA)* > <!ELEMENT c-func (#PCDATA)* > <!ELEMENT code (#PCDATA | value)* > <!ELEMENT command (#PCDATA)* > <!ELEMENT dq ANY > <!ELEMENT emphasis (#PCDATA)* > <!ELEMENT example (#PCDATA)* > <!ELEMENT header (#PCDATA | argument)* > <!ELEMENT http-status EMPTY > <!ATTLIST http-status code CDATA #REQUIRED text CDATA #IMPLIED > <!ELEMENT link (#PCDATA)* > <!ATTLIST link doc CDATA #IMPLIED id CDATA #IMPLIED url CDATA #IMPLIED > <!ELEMENT list (listitem+ | (tag-name | tag-desc)+) > <!ATTLIST list type (bullet | enum | tag) #REQUIRED > <!ELEMENT listitem ANY > <!ELEMENT tag-name ANY > <!ELEMENT tag-desc ANY > <!ELEMENT note ANY > <!ELEMENT parameter (#PCDATA)* > <!ELEMENT pathname (#PCDATA)* > <!ELEMENT value (#PCDATA)* > <!ELEMENT var (#PCDATA)* > <!ENTITY nbsp " " > <!ENTITY mdash " - " > <!ENTITY lsquo "‘"> <!ENTITY rsquo "’"> <!ENTITY ldquo "“"> <!ENTITY rdquo "”">