Mercurial > hg > nginx-quic
view docs/xsls/directive.xsls @ 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 | 24f511e94057 |
children |
line wrap: on
line source
X:stylesheet { X:template = "directive" { <hr/> <a name="{@name}"/> <!-- <center><h4> !{@name} </h4></center> --> !! "syntax"; !! "default"; !! "context"; X:if "(@appeared-in)" { <strong>appeared in version</strong>: !{@appeared-in} } !! "para"; } X:template = "syntax" { X:if "position() = 1" { <strong>syntax</strong>: } else { <code>       </code> } <code> !!; </code> <br/> } X:template = "default" { <strong>default</strong>: X:if "count(text()) = 0" { <strong>none</strong> } else { <code> !!; </code> } <br/> } X:template = "context" { X:if "position() = 1" { <strong>context</strong>: } X:if "count(text()) = 0" { <strong>any</strong> } else { <code> !!; </code> } X:if "position() != last()" { X:text{, } } else { <br/> } } }