scp의 성능을 제한하는 것은 무엇입니까?


13

1Gbit LAN을 통해 연결된 두 개의 데비안 리눅스 컴퓨터가 있습니다. wget어느 방향 으로든 약 100MB / s 의 원시 HTTP 파일 전송으로 이것을 측정 할 수 있습니다 .

내가 지금 사용하면 scp압축하지 않은 최대 값은 약 15MB / s 입니다. -C플래그를 사용하여 압축을 활성화 하면 내용에 따라 최대 50MB / s가 됩니다.

아직도, 여기에 낭비되는 대역폭 이 많이 있습니다. 나는 매우 큰 로그 파일 전송에 대해 정말로 생각하고 얼마나 느리게 느린 지 깨달을 때까지 오랫동안 귀찮게하지 않았습니다 scp. scp모든 인프라가 설정되어 있기 때문에 회사 환경에서도 자연스럽게 사용할 수 있습니다.

scp의 성능이 그 정도를 어떻게 제한합니까? 암호화로 인해 CPU가 바인드 되었습니까? 내가 사용할 때 htop멀티 코어 CPU를 사용하지 않는 것처럼 보이며 4 개의 CPU 중 하나만 최대입니다.

처리량을 늘리는 방법이 있습니까? HTTP 서버와 삼바를 사용할 수 있지만 Linux 컴퓨터간에 파일을 이동하기 위해 일반적으로 SSH를 사용합니다. 그러나 이것은 이제 그것에 대해 생각하게합니다. 대량의 데이터에 대한 다른 전송 방법을 고려해야 할 것 같습니다.

HTTP는 PHP / Java / 특정 응용 프로그램에만 사용되며 삼바는 Windows 컴퓨터에서 액세스해야하는 특별한 이유로 사용됩니다.


JooMing의 답변은 훌륭했지만 -C압축 옵션을 사용하면 속도가 느려졌습니다 (112MB / s 대신 21MB / s). 그러니 조심하세요 -C.
math

답변:


7

아마도 암호화 일 것입니다. 다른 암호로 scp를 시도 할 수 있습니다. 예를 들면 다음과 같습니다.

scp -c arcfour src dest

사용 가능한 암호는 ssh_config 매뉴얼 페이지를 확인하십시오. RC4 (arcfour)는 빠른 암호이지만 일부 대안만큼 안전하지는 않습니다.


의 사용을 주목해야한다 RC4가 되어 안전하지 및 통신 쉽게 나눌 수 있습니다.
Evan Darwin

6

그 중 일부는 OpenSSH의 내부 구현과 관련이있을 수 있습니다. 병목 현상의 한 가지 이유에 대한 적절한 설명 과 HPS-SSH 를 살펴보고 이를 해결할 수있는 OpenSSH에 패치를 적용하십시오 (패치 및 소스에서 기꺼이 다시 빌드하려는 경우).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.