원격 서버에서 로컬 노트북으로 대용량 파일(~5G)을 다운로드 하려고 하는데 40% 크기(2.4G)에서 다운로드가 멈춥니다.
이 rsync 명령을 사용하고 있습니다.
rsync --bwlimit=1200 -rh --progress -e 'ssh -p port' server:/path/to/file Downloads/
또한 서버의 mtu를 1500에서 1492로 낮추려고 시도했지만 성공하지 못했습니다.
어떤 제안이 있으십니까? :디
답변1
나는 이것이 네트워크 문제라고 생각하지 않습니다.
메모리 문제일 가능성이 훨씬 높습니다. RAM 서버가 2GB에 불과하고 5G 파일에서 RSYNC를 실행하는 경우 서버를 먼저 의심합니다. 서버 메모리를 실행하는 동안 서버 메모리를 모니터링할 수 있습니다.
클라이언트 측에도 문제가 있을 수 있습니다. 예를 들어 Windows용 RSYNC는 RAM 용량에 관계없이 대용량 파일에서 항상 충돌하기 때문에 포기했습니다.
rsync가 그러한 대용량 파일 작업에 적합한 도구인지 의문을 제기해야 합니다. 물론 파일에 따라 다르지만 rsync의 diff 엔진에 업데이트가 적용되지 않는 한 아무 의미가 없습니다. 직접 이체하는 것이 더 나을 수도 있습니다. zip 또는 tar와 같은 것을 사용하여 파일을 분할하여 부분적으로 보내고 다른 쪽 끝에서 다시 조립할 수도 있습니다.
답변2
다음을 시도해 보십시오:
- MTU를 1492로 낮추세요
sudo ifconfig eth0 mtu 1492
- TCP SACK 비활성화
sudo sysctl -w net.ipv4.tcp_sack=0