Mercurial > hg > nginx-quic
view docs/xsls/content.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 | 5e2103cffd80 |
children |
line wrap: on
line source
X:stylesheet { X:template = "section[@id and @name]" { <a name="{@id}" /> <center><h4> !{@name} </h4></center> !!; } X:template = "section[not(@id) and @name]" { <center><h4> !{@name} </h4></center> !!; } X:template = "section[not(@id) and not(@name)]" { !!; } X:template = "para" { <p> !!; </p> } X:template = "c-def" { <code> !!; </code> } X:template = "c-func" { <code> !!; X:text{()} </code> } X:template = "code" { <code> !!; </code> } X:template = "command" { <code> !!; </code> } X:template = "dq" { X:text disable-output-escaping="yes" {&ldquo;} !!; X:text disable-output-escaping="yes" {&rdquo;} } X:template = "example" { <blockquote><pre> !!; </pre></blockquote> } X:template = "emphasis" { <strong> !!; </strong> } X:template = "header" { <code> !!; </code> } X:template = "http-status" { !{@code} X:text{ (} !{@text} X:text{)} } X:template = "link[@url]" { <a href="{@url}"> !!; </a> } X:template = "link[@id and not(@doc)]" { <a href="#{@id}"> !!; </a> } X:template = "link[@doc and not(@id)]" { <a href="{substring-before(@doc, '.xml')}.html"> !!; </a> } X:template = "link[@id and @doc]" { <a href="{substring-before(@doc, '.xml')}.html#{@id}"> !!; </a> } X:template = "link" { <u> !!; </u> } X:template = "list[@type='bullet']" { <ul> !!; </ul> } X:template = "list[@type='enum']" { <ol> !!; </ol> } X:template = "listitem" { <li> !!; </li> } X:template = "list[@type='tag']" { <dl compact=""> !!; </dl> } X:template = "tag-name" { <dt> !!; </dt> } X:template = "tag-desc" { <dd> !!; </dd> } X:template = "pathname" { <code> !!; </code> } X:template = "argument" { <code><i> !!; </i></code> } X:template = "parameter" { <code> !!; </code> } X:template = "value" { <code> !!; </code> } X:template = "var" { <code> !!; </code> } }