Welcome! Log In Create A New Profile

Advanced

freeing buffers after sending them

George .
October 12, 2016 06:24AM
Hi all,

What do you think about freeing buffers after being sent by send_chain?
Because we have a special case were we use 4 megabyte buffer instead of
nginx default 8 * 8 K and we found that these buffers are actually freed
after request had been finished, so if there hundreds of slow downstream
connection nginx will eat a lot of RAM.

I'm just curious if I explicitly return already consumed buffer with
ngx_pfree will affect something (our bunch of tests shows at least there
is not crash or unexpected behaviour)


@@ -284,6 +284,13 @@ ngx_http_write_filter(ngx_http_request_t *r,
ngx_chain_t *in)

chain = c->send_chain(c, r->out, limit);

+ /* free buffs that are already sent */
+ for (cl = r->out; cl; /* void */) {
+ ln = cl;
+ cl = cl->next;
+ ngx_pfree(c->pool, ln->buf);
+ }
+
ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0,
"http write filter %p", chain)
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

freeing buffers after sending them

George . 433 October 12, 2016 06:24AM

Re: freeing buffers after sending them

Valentin V. Bartenev 171 October 12, 2016 07:32AM

Re: freeing buffers after sending them

George . 168 October 12, 2016 08:08AM

Re: freeing buffers after sending them

Valentin V. Bartenev 182 October 12, 2016 09:00AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 111
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready