Mellaonx 100G NIC 드라이버 설치 후 작업



HW 정보 확인

# lspci | grep -i mel
10001:01:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]

# S=$(lspci | grep -i mel | cut -c-13)

# lspci -s $S -vvv | grep PCIeGen
[V0] Vendor specific: PCIeGen3 x16

# lspci -s $S -vvv | grep LnkSta
LnkSta: Speed 8GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+, EqualizationPhase1+

# lspci -s $S -vvv | grep DevCtl: -C 2
DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 75.000W
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
        RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ FLReset-
        MaxPayload 128 bytes, MaxReadReq 512 bytes

https://community.mellanox.com/s/article/understanding-pcie-configuration-for-maximum-performance


튜닝

사용 가능한 튜닝 프로필 확인

HIGH_THROUGHPUT 외 여러 프로필이 있음

# mlnx_tune -h
Usage: mlnx_tune [options]

Options:
  -h, --help            show this help message and exit
  -d, --debug_info      dump system debug information without setting a
                        profile
  -r, --report          Report HW/SW status and issues without setting a
                        profile
  -c, --colored         Switch using colored/monochromed status reports. Only
                        applicable with --report
  -p PROFILE, --profile=PROFILE
                        Set profile and run it. choose from:
                        ['HIGH_THROUGHPUT',
                        'IP_FORWARDING_MULTI_STREAM_THROUGHPUT',
                        'IP_FORWARDING_MULTI_STREAM_PACKET_RATE',
                        'IP_FORWARDING_MULTI_STREAM_0_LOSS',
                        'IP_FORWARDING_SINGLE_STREAM',
                        'IP_FORWARDING_SINGLE_STREAM_0_LOSS',
                        'IP_FORWARDING_SINGLE_STREAM_SINGLE_PORT',
                        'LOW_LATENCY_VMA', 'MULTICAST']
  -q, --verbosity       print debug information to the screen [default False]
  -v, --version         print tool version and exit [default False]
  -i INFO_FILE_PATH, --info_file_path=INFO_FILE_PATH
                        info_file path. [default %s]
  -l, --list_os         List supported OS [default False]



# mlnx_tune -p HIGH_THROUGHPUT
2020-03-16 05:22:55,836 INFO Collecting node information
2020-03-16 05:22:55,836 INFO Collecting OS information
2020-03-16 05:22:55,841 INFO Collecting cpupower information
...
2020-03-16 05:22:58,502 INFO Collecting driver information
2020-03-16 05:22:59,375 INFO Collecting Mellanox devices information
2020-03-16 05:22:59,521 WARNING Failed to create MST device for the following PCI entry: '10001:01:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]'
2020-03-16 05:22:59,533 WARNING Couldn't get Firmware version for device 10001:01:00.0

Mellanox Technologies - System Report

Operation System Status
CENTOS7.6
3.10.0-957.el7.x86_64

CPU Status
GenuineIntel Intel(R) Xeon(R) Gold 6246 CPU @ 3.30GHz Skylake
Warning: Frequency 3301.0MHz

Memory Status
Total: 188.52 GB
Free: 184.56 GB

Hugepages Status
On NUMA 1:
Transparent enabled: always
Transparent defrag: always

Hyper Threading Status
ACTIVE
IRQ Balancer Status
INACTIVE
Firewall Status
ACTIVE
IP table Status
INACTIVE
IPv6 table Status
INACTIVE

Driver Status
OK: mlnx-en-4.7-3.2.9.0 (OFED-4.7-3.2.9)

ConnectX-5 Device Status on PCI 10001:01:00.0
FW version N/A
OK: PCI Width x16
OK: PCI Speed 8GT/s
PCI Max Payload Size 128
PCI Max Read Request 512
Local CPUs list [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]

enP65537p1s0 (Port 1) Status
Link Type eth
OK: Link status Up
Speed 100GbE
MTU 9000
OK: TX nocache copy 'off'

2020-03-16 05:23:00,073 INFO System info file: /tmp/mlnx_tune_200316_052253.log

https://community.mellanox.com/s/article/How-to-Tune-Your-Linux-Server-for-Best-Performance-Using-the-mlnx-tune-Tool


참고

https://community.mellanox.com/s/article/performance-tuning-for-mellanox-adapters

AMD EPYC의 경우
https://community.mellanox.com/s/article/how-to-tune-an-amd-server--eypc-cpu--for-maximum-performance

iperf3 at 40Gbps and above

https://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf/multi-stream-iperf3/

iperf3 로는 40Gbps 언저리가 최대라 iperf 로 테스트 하든지 해야 함

https://fasterdata.es.net/host-tuning/linux/100g-tuning/

파일 테스트 해 보려면 다음 커맨드로

https://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf/disk-testing-using-iperf/

https://fasterdata.es.net/science-dmz/DTN/tuning/

https://fasterdata.es.net/science-dmz/DTN/100g-dtn/

https://fasterdata.es.net/science-dmz/DTN/dtn-performance-testing/