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/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
iperf3 로는 40Gbps 언저리가 최대라 iperf 로 테스트 하든지 해야 함
https://fasterdata.es.net/host-tuning/linux/100g-tuning/
파일 테스트 해 보려면 다음 커맨드로
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/