I have recently subscribed to FTTH and in order to take advantage of all the available bandwidth, I have upgraded my home network to Gigabit, which basically meant replacing my router since all the PCs and cables were already capable of gigabit speeds.
Everything works fine except for one computer running Debian: the Gigabit link is recognized, however when I test the network bandwidth (using iperf) the maximum throughput I get is about 240 Mbps.
federico@debianpc:~$ iperf -c ping.online.net -i 2 -t 10
------------------------------------------------------------
Client connecting to ping.online.net, TCP port 5001
TCP window size: 23.5 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.0.201 port 34872 connected with 62.210.18.40 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 2.0 sec 58.2 MBytes 244 Mbits/sec
[ 3] 2.0- 4.0 sec 58.1 MBytes 244 Mbits/sec
[ 3] 4.0- 6.0 sec 58.1 MBytes 244 Mbits/sec
[ 3] 6.0- 8.0 sec 58.1 MBytes 244 Mbits/sec
[ 3] 8.0-10.0 sec 58.0 MBytes 243 Mbits/sec
[ 3] 0.0-10.0 sec 291 MBytes 244 Mbits/sec
What I have already checked:
- Internet connection --> not an issue because iperf gives expected results (about 700 Mbps) from other computers connected to the same router
- Ethernet patch cable --> not an issue as it gives full speed when connected to another computer
At this point, I am guessing between:
- Ethernet controller not able to sustain Gigabit speed? LAN Controller is an Atheros AR8131 embedded on Gigabyte G31M-ES2L motherboard (bought in 2010)
- Driver issue? The computer is running Debian 7.9 (Wheezy) with kernel 3.2.73-2+deb7u3 and the driver used by the card is atl1c (version: 1.0.1.0-NAPI that shipped with the distribution)
Have you already encountered the issue? Do you have any idea where the problem might come from?
-w 10M
to your iperf arguments to force a 10 MiByte window, and see if that fixes things. If it does, then see how your have your Linux TCP stack tuning set up, to make sure you have TCP window autoscaling enabled for up to 10MiBytes.-w 512K
.