Welcome! Log In Create A New Profile


understanding proxy_buffering

January 19, 2014 03:14AM
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?

Subject Author Posted

understanding proxy_buffering

mojiz January 19, 2014 03:14AM

Re: understanding proxy_buffering

oscaretu . January 19, 2014 03:34AM

Re: understanding proxy_buffering

mojiz January 19, 2014 06:33AM

Re: understanding proxy_buffering

oscaretu . January 19, 2014 06:50AM

Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 113
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready