HDR IPoIB 및 10GbE 이상의 속도, 복사 속도 측정

HDR IPoIB 및 10GbE 이상의 속도, 복사 속도 측정

저는 대용량 데이터 파일(예: 10GB 이상)을 처리할 때 IPoIB {IP over infiniband}를 사용하고 있으며 기존의 1gbps 유선 네트워크 속도보다 더 나은 것이 필요합니다.

배경:

  • 1Gbps 유선 네트워크에서는 SSH안전 사본내 Linux 서버와 Windows PC 간의 속도 또는 삼바 파일 전송은 다음과 같습니다.112MB/초. 노트:초당 메가바이트입니다. 우리는 더 빨라지고 싶습니다.
  • 내 Linux 서버에는 Mellanox HDR inifiniband 스위치와 어댑터 카드가 있습니다.
    • 100Gbps의 HDR
  • RHEL 7.9 x86-64를 실행 중이고 최신 Mellanox iso 드라이버가 설치되어 있습니다.
  • RHEL Network Manager에서 내 ib0인터페이스는 고정 IP 주소를 다음과 같이 사용합니다.데이터그램현재 소수의 RHEL Linux 서버 간에 인피니밴드 네트워킹이 실행되고 있습니다.아름다운....이건 일이야.
  • 속도 테스트로 보안 복사를 할 때 30GB tar 파일로 동일한 대상 서버를 포격하는 3대의 서버가 있음에도 불구하고 약 260MB/초의 안정적인 속도를 얻을 수 있었습니다.
  • 제 생각에는 1gbps 유선 네트워크가 초당 1000메가비트(바이트당 8비트로 나눔)로 최대 125MB/초이고 112MB/초(89%)를 얻었으므로 만족합니다.
    • 1gbps에서 100gbs 인피니밴드까지 해당 11200MB/s에 가까운 것을 보고 싶습니다.안전 사본속도는 260MB/초밖에 나오지 않습니다. 260 / 11200 = 2%... 너무 안 좋은가요?

100Gbps HDR 인피니밴드에서 어떤 속도가 현실적인지 말해 줄 수 있나요? ethtool ib0100,000개의 링크 수를 보고하면 이것이 한 번의 테스트로 내가 scp지금까지 아는 전부입니다.

이제 100Gbps를 사용하게 되었는데 몇 가지 제한사항이 있어서 scp표시되나요?ssh

무엇이 더 나은가?속도 테스트이 상황에서 나는 무엇을 할 수 있습니까? 궁극적인 목표는 scp및 궁극적으로 nfs. rdma의 nfs에 대해 알고 있지만 이제 막 시작하는 중입니다..

나는 또한 누군가의 보고서를 보고 싶습니다. (답변)열광한필요한 전송 속도를 달성하기 위해 QDR, EDR, FDR 등과 같은 느린 인피니밴드를 모두 포함하는 10GbE 이상의 네트워크.

고쳐 쓰다:다음 테스트를 수행했습니다. 따라서 네트워크 속도는 100Gbps이지만 전송 속도는 CPU가 선택한 비밀번호(및 hmac)를 처리할 수 있는 속도에 따라 제한됩니다. 따라서 당신이 하고 싶은 것은 값비싼 인피니밴드 설정을 구입하는 것뿐입니다 scp. 여기서는 전송 속도를 MB/초 단위로 편리하게 보고하기 때문에 scp만 사용했습니다.

나는 내 서버실에 있는 두 대의 서버에 있는 유일한 사람입니다. 두 서버의 하드웨어는 동일하며 둘 다 Intel 8628 CPU, 주파수 = 2.9ghz가 장착된 4소켓 서버입니다.

노트:aes-###ctr 및 hmac-sha2-aes###를 사용하는 1Gbps 레거시 유선 네트워크에서는 하루 종일 안정적인 112MB/초 scp 속도를 얻습니다.

여기에 이미지 설명을 입력하세요.

답변1

이 복사본에 SSH를 사용하려는 경우 제한 요소는 암호 속도일 가능성이 높습니다. 일반적인 1Gbps 네트워크의 경우 제한은 네트워크 속도이므로 대부분의 암호화는 동일하게 수행됩니다.

그러나 더 빠른 네트워크를 사용하는 경우 비밀번호가 중요합니다. 귀하의 하드웨어가 최신 amd64라고 가정하면 이것이 [email protected]가장 빠른 속도일 것임이 거의 확실합니다. 이는 최신 amd64 CPU에 AES 및 GCM 속도를 높이는 지침이 포함되어 있고 AES-128이 보다 안전한 버전보다 빠르기 때문입니다.

내 시스템에서 OpenSSL을 사용하는 가장 빠른 AEAD 암호를 비교하기 위해 AES-128/GCM을 사용하면 5.8GB/s, AES-256/GCM을 사용하면 4.1GB/s, ChaCha20/Poly1305를 사용하면 2.1GB/s를 얻었습니다. 여기서 한계는 실제로 CPU가 데이터를 암호화하여 유선으로 전송할 수 있는 속도입니다. 이 경우 멀티 스레드 방식으로 암호화를 수행하지 않는 한 다른 프로그램이 더 빠를 것이라고 생각할 이유가 없습니다. 한계는 CPU 속도이기 때문입니다.

다음 명령을 실행하여 OpenSSL(OpenSSH에서 사용) 버전의 속도를 테스트할 수 있습니다.

$ openssl speed -evp aes-128-gcm
$ openssl speed -evp aes-256-gcm
$ openssl speed -evp chacha20-poly1305

비밀번호를 조정하고 싶다면 다음과 같이 하세요.

$ scp -o [email protected],[email protected],[email protected] \
  file user@host:file

일반적으로 더 빠른 전송을 원할 경우 다중 스레드 암호화를 수행할 수 있는 일종의 전송 기술을 사용하거나 암호화되지 않은 상태로 전송해야 합니다. 물론 후자가 더 빠르지만 네트워크의 모든 사람에게 데이터와 인증 자격 증명이 노출됩니다.

키 교환 메커니즘 및 공개 키 유형과 같은 기타 암호화 매개변수는 연결을 설정하는 데 걸리는 시간에 영향을 줄 수 있지만 전송 속도에는 영향을 미치지 않습니다. 여기서 AEAD를 사용하고 있으므로 MAC 설정도 중요하지 않습니다(그리고 AEAD가 거의 확실히 더 빠릅니다).

비밀번호를 전환한 후에도 성능이 향상되지 않으면 디스크, CPU, RAM 등이 제한 요인일 수 있습니다. RHEL 7은 2014년부터 출시되었으며 커널, 암호화 라이브러리 및 드라이버는 지난 7년 동안 성능이 약간 향상되었을 수 있으므로 보다 최신 운영 체제를 사용하여 성능을 향상시키는 것도 가능합니다.

다음을 수행하여(Martin이 제안한 대로) 디스크에 문제가 있는지 테스트할 수 있습니다.

# dd if=/dev/sda of=/dev/null bs=1M count=10240

그러면 디스크가 10GB 블록으로 데이터를 전송할 수 있는 최대 속도와 유사한 정보가 인쇄됩니다.

관련 정보