I have been making some tests with X-Accel-Redirect:
On my PIII 500 with 384MB with a 10/100 ethernet card runing on Ubuntu
7.10 server edition, I have a 1Go file to serve. Both my server and my
client box are on the same LAN, and I have a router-DSL to connect to
internet with about 1MB upload and 8MB download (I am not 100% sure
about the figures).
When I uploaded the file to the server on the LAN, the speed was
Downloading the file from the internet using, uses 100% cpu on my
server and the speed reaches the limit of my DSL connection: roughly
1.3MB/s. First question, is the 100% cpu usage normal for my poor
I have had sometimes the download get suddenly interrupt. Where could
that problem come from? Is it the router that is getting hammered by
upload and download data at the same time?
Then I have made a test downloading the same file but without going on
internet, therefore bypassing the router. Now I get 1.7MB/s of
download, which I guess is the absolute limit of my server power. I
have not had any disconnection up to now, but as the file is big, I
cannot test many times. But probably the initial disconnections came
from my DSL router.
My production server will be a Conroe-L cpu with a 100MB connection,
it don’t think it will be capable of managing a Rails app and
transferring files at full speed, I know limit_rate can work on a per
client basis, but is there a way I can limit the total rate of