LAN을 통해 대용량 파일을 복사하고 있는데 SSH 파이프를 사용하면 약 10MB/s의 전송 속도를 얻을 수 있다는 것을 알았습니다. 하지만 4개를 동시에 실행하면 총 전송 속도는 약 40MB/s 정도가 됩니다.
그래서 큰 파일(예: 1GB)을 여러 부분으로 나누고 각 부분을 개별적으로 파이프한 다음 반대편에서 다시 조립하고 싶습니다. 또한 전송하기 전에 tar/zip을 수행하고 반대편에서 압축을 풀거나 압축을 풀어야 합니다.
어떻게 해야 하나요?
답변1
HPN-SSH
마지막으로 및 로 끝납니다 pigz
.
tar -cf - -C [RELATIVEFOLDER] [FILENAME] | pigz | ssh px "pigz -d | tar xf - -C [REMOTEFOLDER]"
개선 사항은 다음과 같습니다.10의 거듭제곱.
참고로 설치 HPN-SSH
및 pigz
켜기는 Ubuntu 14.04
매우 간단합니다.
# hpn-patched ssh from ppa
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:w-rouesnel/openssh-hpn
sudo apt-get update -y
sudo apt-get install openssh-server
ssh -V # should have 'hpn' in it somewhere
# pigz
sudo apt-get install pigz
답변2
scp(1)을 사용하여 대용량 파일을 복사하기 전에 분할하는 데 사용할 수 있는 zipsplit(1) 및 Split(1)이 있습니다. 또는 파이프 효과를 얻으려면 출력을 명명된 파이프로 분할한 다음 명명된 파이프를 SSH에 연결할 수 있습니다.