Is it possible that nginx will not buffer the client body?
姚伟斌
yaoweibin at gmail.com
Thu Jan 17 03:15:58 UTC 2013
Yes. It should work for any request method.
2013/1/16 Pasi Kärkkäinen <pasik at iki.fi>
> On Sun, Jan 13, 2013 at 08:22:17PM +0800, ?????? wrote:
> > This patch should work between nginx-1.2.6 and nginx-1.3.8.
> > The documentation is here:
>
> > ## client_body_postpone_sending ##
> > Syntax: **client_body_postpone_sending** `size`
> > Default: 64k
> > Context: `http, server, location`
> > If you specify the `proxy_request_buffering` or
> > `fastcgi_request_buffering` to be off, Nginx will send the body to
> backend
> > when it receives more than `size` data or the whole request body has
> been
> > received. It could save the connection and reduce the IO number with
> > backend.
> >
> > ## proxy_request_buffering ##
> > Syntax: **proxy_request_buffering** `on | off`
> > Default: `on`
> > Context: `http, server, location`
> > Specify the request body will be buffered to the disk or not. If it's
> off,
> > the request body will be stored in memory and sent to backend after
> Nginx
> > receives more than `client_body_postpone_sending` data. It could save
> the
> > disk IO with large request body.
> >
> >
> > Note that, if you specify it to be off, the nginx retry
> mechanism
> > with unsuccessful response will be broken after you sent part of the
> > request to backend. It will just return 500 when it encounters such
> > unsuccessful response. This directive also breaks these variables:
> > $request_body, $request_body_file. You should not use these variables
> any
> > more while their values are undefined.
> >
>
> Hello,
>
> This patch sounds exactly like what I need aswell!
> I assume it works for both POST and PUT requests?
>
> Thanks,
>
> -- Pasi
>
>
> > Hello!
> > @yaoweibin
> >
> > If you are eager for this feature, you could try my
> > patch: [2]https://github.com/taobao/tengine/pull/91. This patch
> has
> > been running in our production servers.
> >
> > what's the nginx version your patch based on?
> > Thanks!
> > On Fri, Jan 11, 2013 at 5:17 PM, Ҋΰ±ó <[3]yaoweibin at gmail.com>
> wrote:
> >
> > I know nginx team are working on it. You can wait for it.
> > If you are eager for this feature, you could try my
> > patch: [4]https://github.com/taobao/tengine/pull/91. This patch
> has
> > been running in our production servers.
> >
> > 2013/1/11 li zJay <[5]zjay1987 at gmail.com>
> >
> > Hello!
> > is it possible that nginx will not buffer the client body before
> > handle the request to upstream?
> > we want to use nginx as a reverse proxy to upload very very big
> file
> > to the upstream, but the default behavior of nginx is to save
> the
> > whole request to the local disk first before handle it to the
> > upstream, which make the upstream impossible to process the
> file on
> > the fly when the file is uploading, results in much high request
> > latency and server-side resource consumption.
> > Thanks!
> > _______________________________________________
> > nginx mailing list
> > [6]nginx at nginx.org
> > [7]http://mailman.nginx.org/mailman/listinfo/nginx
> >
> > --
> > Weibin Yao
> > Developer @ Server Platform Team of Taobao
> > _______________________________________________
> > nginx mailing list
> > [8]nginx at nginx.org
> > [9]http://mailman.nginx.org/mailman/listinfo/nginx
> >
> > _______________________________________________
> > nginx mailing list
> > [10]nginx at nginx.org
> > [11]http://mailman.nginx.org/mailman/listinfo/nginx
> >
> > --
> > Weibin Yao
> > Developer @ Server Platform Team of Taobao
> >
> > References
> >
> > Visible links
> > 1. mailto:zjay1987 at gmail.com
> > 2. https://github.com/taobao/tengine/pull/91
> > 3. mailto:yaoweibin at gmail.com
> > 4. https://github.com/taobao/tengine/pull/91
> > 5. mailto:zjay1987 at gmail.com
> > 6. mailto:nginx at nginx.org
> > 7. http://mailman.nginx.org/mailman/listinfo/nginx
> > 8. mailto:nginx at nginx.org
> > 9. http://mailman.nginx.org/mailman/listinfo/nginx
> > 10. mailto:nginx at nginx.org
> > 11. http://mailman.nginx.org/mailman/listinfo/nginx
>
>
> > _______________________________________________
> > nginx mailing list
> > nginx at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
--
Weibin Yao
Developer @ Server Platform Team of Taobao
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20130117/a5f6a053/attachment.html>
More information about the nginx
mailing list