원격 셸(RSH)을 사용하는 레거시 시스템에서 파이프 네트워크를 통한 데이터 전송을 고려해보세요. 예를 들면 다음과 같습니다.
rsh host -l user tar -cf - /home/dir \| compress | uncompress | tar -xvf -
그리고 이것은 "현대적인" 시스템에서:
ssh user@host tar -cf - /home/dir \| gzip | ungzip | tar -xvf -
성능 문제:
AIX 4.3과 AIX 5.3 사이에서 전송을 실행하기 위해 RSH를 사용할 때 성능이 매우 저하됩니다. 유휴 스위치를 통해 연결한 유휴 카드(10/100)를 사용하더라도 5.4GB를 전송하는 약 350Kbps 성능을 얻었습니다.
AIX 5.3과 Linux 간에 이 전송을 실행하지만 이제 SSH와 gzip을 사용하면 성능은 훨씬 향상되지만 네트워크 용량에는 도달하지 않습니다(1기가비트 LAN에서는 평균 약 400Mbps를 얻습니다).
네트워크 파이프 성능, 사용자 정의 파이프 버퍼 또는 네트워크 블록/버퍼 등을 최적화할 수 있는 방법이 있습니까?
답변1
적어도 SSH 부분에서는 대역폭이 제한되기보다는 CPU가 제한되어 있다고 생각합니다.
서버의 암호화/암호 해독이 제한 요소이기 때문에 두 유휴 서버 사이에서 scp(ssh cp)를 사용하여 약 45-50MB/s를 얻습니다. gzip/ungzip을 추가하면 사용 가능한 코어 수에 따라 더 낮아질 수 있습니다.
압축되지 않은 전송과 암호화되지 않은 전송의 숫자가 더 좋습니다. 압축 명령 없이 시도해보고 어떻게 진행되는지 확인할 수 있습니다.
답변2
압축 및 디스크 I/O를 배제하기 위해 기본 속도 테스트를 수행했습니까?
이것은 쉽습니다. 영향을 받는 호스트 중 하나에서 다른 호스트로 ftp를 통해 연결하고 실행하면
put "|dd if=/dev/zero bs=1M count=1000″ /dev/null
한쪽의 /dev/zero에서 1GB를 읽고 다른 쪽의 /dev/null에 씁니다. 이는 순수 네트워크를 테스트합니다. 대역폭. 이에 대해 더 자세히 설명되어 있습니다.
AIXChange 블로그: 네트워크 성능을 측정하는 두 가지 방법
-o Cipher=arcfour ...
scp를 통한 전송의 경우 scp에 대한 옵션으로 덜 까다로운 스트림 암호(RC4)를 사용하여 암호화를 줄일 수 있습니다 .
당신은 또한 볼 수 있습니다관련된 질문를 사용하여 압축을 활성화하는 것이 좋습니다 -C
. 귀하의 상황을 제가 이해한 바에 따르면 네트워크 대역폭이 아니라 CPU 성능이 제한 요소이므로 압축이 상황을 더 악화시킬 수 있습니다.