Назад | Перейти на главную страницу

Как изменить "объявленное использование кадра паузы" и настройку автосогласования на гигабитной сетевой карте

Я исследую низкую производительность 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. Вот такое слово вокруг интертюбов.