Я исследую низкую производительность nfs на новом сервере по сравнению со старым. И старый, и новый сервер являются клиентами nfs и подключаются к одному и тому же серверу NetApp nfs.
Мой конкретный вопрос: Как изменить настройку "Рекламируемое использование кадра паузы"?
Я взглянул на сторону коммутатора, и порты на коммутаторе говорят 1000 Full Duplex для обоих хостов. Однако управление потоком для старого сервера показывает "Sy / Asy", а для нового сервера установлено значение Sym. Я предполагаю, что Asy = Asymmetric и Sym = Symmetric, и мое другое предположение состоит в том, что переключатель видит Sym
так как Advertised pause frame use
установлен на Symmetric
на стороне Linux. Как я могу изменить это на Асимметричный? Может ли этот параметр повлиять на производительность? Я просто стараюсь исключить как можно больше.
Это выделенные каналы хранения, т. Е. Это отдельная сетевая карта и отдельная подсеть, чем основная сетевая карта.
Я не вижу проблем с iowait как на старых, так и на новых серверах, поэтому процессоры и память не кажутся проблемой. Я полагаю, что это что-то с настройками eth или настройками nfs. Я могу более подробно остановиться на настройке, но сначала хотел ответить на этот конкретный вопрос.
Новый хост (CentOS 6.3 на 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
Драйвер: tg3
Старый хост (SLES 9 SP4 на 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
Драйвер: e1000
Я видел, как автосогласование отключено на интерфейсах 1g. Вот как это сделать:
http://www.cyberciti.biz/tips/howto-linux-add-ethtool-duplex-settings-permanent.html
Я не предполагаю, что вы это сделаете, основываясь на уже представленных доказательствах относительно стандартов ieee. Однако некоторые интерфейсы это позволяют.
По-видимому pause
и autoneg
это настройки, которые нельзя отключить на гигабитной сетевой карте на Стандарты IEEE. Вот такое слово вокруг интертюбов.