I'm investigating some poor nfs performance on a new server, as compared to an old server. Both the old and the new server are nfs clients, and they connect to the same exact NetApp nfs server.
My specific question: How to I change the "Advertised pause frame use" setting?
I took a look on the switch side, and the ports on the switch say 1000 Full duplex for both hosts. However, the flow control for the old server shows "Sy/Asy" but the new server is set to Sym. I assume that Asy=Asymmetric and Sym=Symmetric, and my other assumption is that the switch sees Sym
because Advertised pause frame use
is set to Symmetric
on the Linux side. How can I change this to Asymmetric? Could this setting affect performance? I'm just trying to rule out as much as possible.
These are dedicated storage links, i.e. they're a separate NIC and on a separate subnet than the primary NIC.
I see no iowait issues on both the old and new servers, so the CPUs and memory don't appear to be an issue. I figure its something with the eth settings or nfs settings. I can go into more detail on setup, but wanted to answer this specific question first.
New host (CentOS 6.3 on HP ProLiant Dl360P Gen8)
$ sudo ethtool eth3
Settings for eth3:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
**Advertised pause frame use: Symmetric**
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 4
Transceiver: internal
Auto-negotiation: on
MDI-X: off
Supports Wake-on: g
Wake-on: g
Current message level: 0x000000ff (255)
Link detected: yes
Driver: tg3
Old host (SLES 9 SP4 on Sun Fire x4150)
$ sudo ethtool eth1
Settings for eth1:
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 auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: umbg
Wake-on: g
Current message level: 0x00000007 (7)
Link detected: yes
Driver: e1000
Apparently pause
and autoneg
are settings that can't be set to off on a gigabit NIC per IEEE standards. Thats the word around the intertubes.
I have seen autonegotiate turned of on 1g interfaces. Here is how you do it:
http://www.cyberciti.biz/tips/howto-linux-add-ethtool-duplex-settings-permanent.html
I don't you are suppose to, based on the evidence already presented concerning the ieee standards. However, some interfaces allow it.
User contributions licensed under CC BY-SA 3.0