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/