understanding proxy_buffering

mojiz nginx-forum at nginx.us
Sun Jan 19 08:14:46 UTC 2014


Hi
I'm trying to setup a reverse proxy for some private downloads. Here is our
setup:
3 Storage servers with High capacity but slow HDDs running nginx
1 loadbalancing server with SSD and high internet uplink.
my file sizes are several hundred megabytes (500+ up to 2GB) running nginx
downloaders are on slow connections with download managers with up to 16
connections for each file

here is what I want to do:
a user sends a request to the SSD server, the ssd server requests the file
from Slow servers and caches to response to its fast HDD and serving it to
the client. But If I use the proxy_cache , the file serving has to wait till
the file has been completly transfered and cache on the SSD disk wich (if
several files are requested at the same time) results in a slow connection
and timeout or other errors on the client side. so this is not an option.

However I think proxy_buffering is answer to my problem, I think this means
each part of the requested file (defined by ranges header) is cached
independently. 
1. Am I right?
If I'm right then 
2. how can I tell the nginx, to buffer like 5mb of requested part in memory
(and the excess on the SSD disk) and serve the file to the client until the
client has downloaded the part and then request another 5mb?
I'm looking for a setting like output_buffers 1 5m; but for the proxied
file.
3. Is there a better solution?

Regards

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,246586,246586#msg-246586



More information about the nginx mailing list