Slow downloading speed from server

This can be of many reasons, might be due to server load, firewall etc. Basically we check these areas when slow downloading speed occurs 🙂

But I have identified one uncommon and not easily notifiable thing on my server regarding with my public Ethernet interface. Please see the following result.

———————-
# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Half
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: g
Wake-on: g
Link detected: yes
———————-

Did you notice the Speed: 100Mb/s and Duplex: Half ?, that is the issue here 😀 which allows only half duplex transmission – transmission to only one direction at a time and thus limits the speed.

You can change to full duplex as follows:

————–
ethtool -s eth0 speed 100 duplex full autoneg off
————–

This will change the half duplex to full which allows sending and receiving at a time. Also set auto-negotiate to off as the switch has this function set to and it is best to match up the options.

(Note : In some server it can be eth1 the public interface and eth0 use for internal network, in that case change eth0 to eth1. Always be careful with that)

Then #service network restart

———————-
# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: Not reported
Advertised pause frame use: No
Advertised auto-negotiation: No
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: off
MDI-X: Unknown
Supports Wake-on: g
Wake-on: g
Link detected: yes
———————-

Make sure secondary IPs associated with your ethernet are up, if not showing in ifconfig, then restart ipaliases.

#/etc/init.d/ipaliases restart

Leave a Reply

Your email address will not be published. Required fields are marked *