[멜라녹스] 제가 써야하는 인피니밴드 HDR은 100Gbps라고 합니다.
단일 파일 복사를 수행할 때 후속 복사의 최대 속도는 480MB/초, 평균 속도는 약 460MB/초였습니다. 단, 첫 번째 파일이 RAM에 캐시되어 읽기 속도 제한이 적용되지 않는다고 가정합니다 my30gb.tar
. . SAS SSD가 설치되었습니다. 30GB tar 파일 쓰기는 처음에 RAM에 저장됩니다. 원본 서버와 대상 서버 모두 700GB RAM을 갖습니다.rsync --progress
my30gb.tar
삼바를 사용하여 win10에서 구리 1gbps의 서버로/에서 동일한 유형의 복사를 수행할 때 항상 112MB/초를 얻습니다. 그게 제 기준점이에요. 예를 들어:
내 인피니밴드 HDR이 100x인 경우 내 쇼가 rsync --progress
100x 속도에 가까워지지 않는 이유는 무엇입니까? 나는 약 450MB/초만 보고 있으며 112,000MB/초를 관찰할 것으로 예상합니다. 450/112,000 개선율이 1%도 안되나요? 혼란스러워하세요.
인피니밴드 네트워크 속도가 초당 비트 단위로 광고된다는 사실을 알고 있지만 초당 바이트 단위의 예상 파일 전송 속도와 대용량 파일을 전송하는 데 걸리는 시간과 연관될 수 있는 것을 찾고 있습니다.
인피니밴드 HDR의 2개 Linux 서버 간에는 다른 오버헤드나 트래픽이 없으며 NFS 연결은 v4.1 및 프로토콜 TCP입니다. RDMA 프로토콜이 제대로 작동하고 30GB tar 파일을 사용하여 여전히 동일한 전송 값을 관찰했습니다.
네트워크 조정 또는 nfs 조정이 가능하거나 이루어져야 합니까? 모든 작업이 올바르게 수행된 경우 Infiniband HDR에서 기대할 수 있는 최대 파일 전송 속도는 얼마입니까? 1gbps 구리, 100gbps 인피니밴드 또는 기타 네트워크 등 특정 네트워크에서 NFS의 파일 복사 속도와 관련된 제한 요소를 이해하고 싶습니다. FDR, EDR, QDR 등 1Gbps 구리보다 빠른 이전 세대 인피니밴드 사용에 대한 통찰력이 있는 사람이 있다면 귀하의 의견을 환영합니다.
Mount NFS 마운트 매개변수는 기본값이며 다음과 같습니다.
(rw,nosuid,noexec,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.2,local_lock=none,addr=192.168.1.1,_netdev)
답변1
주의 깊게 구성하면 NVMEoF를 통해 지속적이고 링크에 가까운 속도의 읽기/쓰기 성능을 달성할 수 있습니다. 신중한 구성에는 다음이 포함됩니다. NIC를 처리할 만큼 충분한 PCIe 대역폭이 있습니까? PCIe Gen 3 x 16 레인 슬롯은 100Gbit Infiniband 링크를 지원할 수 있을 만큼만 빠릅니다. 그런 다음 충분한 PCIe 대역폭과 데이터를 NVME 어레이로 전송하기에 충분한 PCIe 레인이 있는지 확인해야 하며, 4레인 NVME 장치를 사용하는 경우 컴퓨터의 사용 가능한 레인에 장치를 분산시킬 수 있습니다. NIC 및 NVME 어레이가 컴퓨터의 동일한 PCIe 호스트에 있는지 확인해야 합니다. 해당 PCIe 대역폭을 사용하는 다른 장치가 무엇인지 고려해야 합니다.
Infiniband 및 기타 고속 네트워크의 경우 데이터 전송에서 코어, CPU, 인터럽트 등을 제외하는 것이 중요해집니다. 그들은 종종 제한 요소입니다. 최악의 경우 중 하나는 CPU가 버퍼를 건드려야 하는 경우입니다.
Infiniband의 주요 장점은 CPU 개입 없이 RDMA(원격 직접 메모리 액세스)입니다. 네트워크 인터페이스 카드 NIC를 통해 메모리에서 원격 컴퓨터 NIC로 데이터를 이동한 다음 DMA를 메모리로 직접 이동합니다.
먼저 Infiniband, NIC 및 NVidia(Mellanox) OFED가 올바르게 구성되어 있고 광고된 100Gbps를 달성하는지 확인하세요. NVidia에서 제공하는 "perftest"를 사용하여 이 작업을 수행할 수 있습니다.
Infiniband 전송 대역폭 ib_send_bw 테스트가 시작점입니다.
Infiniband에 연결된 컴퓨터에서만 "ib_send_bw"를 실행하세요. 다른 컴퓨터에서 "ib_send_bw XXX.XXX.XXX.XXX"를 실행합니다. 여기서 XXX.XXX.XXX.XXX는 첫 번째 컴퓨터의 Infiband 어댑터 IP 주소입니다.
https://www.ibm.com/docs/fi/linux-on-systems?topic=linuxonibm/performance/howtos/verifyrdma.htm
iperf3 또는 netcat(nc)을 사용하여 추정할 수도 있습니다. 예를 들어 다음 질문과 답변은 다음과 같습니다.
https://askubuntu.com/questions/7976/how-do-you-test-the-network-speed-두 상자 사이
rsync는 기본적으로 CPU 읽기 버퍼와 관련된 델타/차이 비교를 수행합니다. 압축하거나 ssh와 함께 rsync를 사용하면 CPU가 모든 데이터를 다시 읽고 조작해야 하므로 성능이 저하됩니다. NVMEoF(NVME over Fabric), iSCSI 등 CPU 개입 없이 데이터를 전송할 수 있는 기술을 사용하면 많은 이점이 있습니다.