Download speed low over http but Iperf is showing a high bandwidth

connectiondebian-wheezyhttpnetworkingperformance

I was trying to download some files off of a server that I recently started renting. It is a dedicated server located in Paris-FR. I believe the box is in online.net's datacenter. I am renting it from OneProvider.

Downloading files using http gave me unsatisfactory speeds. On the server I set up a SimpleHTTPServer using python and the client is a laptop i norway. The speeds i was seeing ranged between 3.2Mb/s and 6.4Mb/s

I set up a Iperf server on the dedicated box and connected to it using the same client and got the following results

------------------------------------------------------------
Client connecting to 195.154.222.67, TCP port 5001
TCP window size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.10.142 port 51976 connected with 195.154.222.67 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 2.0 sec  7.62 MBytes  32.0 Mbits/sec
[  3]  2.0- 4.0 sec  9.00 MBytes  37.7 Mbits/sec
[  3]  4.0- 6.0 sec  9.12 MBytes  38.3 Mbits/sec
[  3]  6.0- 8.0 sec  8.50 MBytes  35.7 Mbits/sec
[  3]  8.0-10.0 sec  8.62 MBytes  36.2 Mbits/sec
[  3]  0.0-10.0 sec  42.9 MBytes  36.0 Mbits/sec

The client is on a 100/100 connection and on a wired network. I have done some speedtests using speedtest.net to servers locted in Paris-FR and the speeds range from 38Mb/s to 64Mb/s.

Operating System    Debian 7 Wheezy, 64 Bit
CPU:    Intel Xeon L3426 1.86Ghz + IDRAC
RAM:    16GB
Hard drive(s):  2x 2000GB HW RAID 1
Bandwidth:  Unltd @ 100Mbps

I tested the disk I/O to be 120MB/s

Best Answer

First, are you sure you didn't confuse megabytes with megabits or vice versa?

Megabytes: 3.2MB/s - 6.4MB/s

Megabits: 25.6Mb/s - 51.2Mb/s

If you're sure that part is correct, then:

Try other software like apache, nginx, scp, ftp, whatever... it's won't take long. Maybe it's just your python script that's responsible. Same on the client side - try a browser, wget, curl, ftp, scp, whatever... Try http (and maybe https) over a different port like the one iperf is using. If you get different speeds with different ports/protocols consistently, talk to your provider. That's not supposed to happen.

If you want a second opinion over iperf you can use netcat

https://jbowes.wordpress.com/2010/10/13/measuring-network-speeds-with-netcat-and-dd/

Related Topic