![로컬 실행과 SSH 실행 간에 큰(2GB) 파일에 대한 간단한 "복사" 명령에 속도 차이가 있을 수 있습니까?](https://rvso.com/image/1402621/%EB%A1%9C%EC%BB%AC%20%EC%8B%A4%ED%96%89%EA%B3%BC%20SSH%20%EC%8B%A4%ED%96%89%20%EA%B0%84%EC%97%90%20%ED%81%B0(2GB)%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EB%8C%80%ED%95%9C%20%EA%B0%84%EB%8B%A8%ED%95%9C%20%22%EB%B3%B5%EC%82%AC%22%20%EB%AA%85%EB%A0%B9%EC%97%90%20%EC%86%8D%EB%8F%84%20%EC%B0%A8%EC%9D%B4%EA%B0%80%20%EC%9E%88%EC%9D%84%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
예시 시나리오:
-리눅스기계(운영 체제는 신경 쓰지 않는 것 같아요).
-OpenSSH 서버.
-소스 빅파일하드 디스크의 경우 약 2GB입니다(SSD나 클래식 HD도 문제가 되지 않는다고 생각합니다).
- 파일의 대상: a (보통 빠른 2.0)USB 펜드라이브(내 생각에는 3.0이나 심지어 1.0도 문제가 되지 않을 것 같습니다.)
나는 간단한 것을 주문할 것이다:
cp MyBigFile.iso /media/pendrive
pendrive는 동일한 컴퓨터에 연결되어 있습니다.
두 가지 경우:
- 로컬 쉘(나는 기계에 앉아서
cp
) 큰 파일의 실행 명령을 복사합니다. - SSH 쉘(동일한 LAN에 있는 다른 컴퓨터로 이동하여 SSH 클라이언트를 통해 로그인합니다.) 원격으로 큰 파일의 복사본을 주문했습니다.
속도의 차이를 기대하는 것이 의미가 있습니까? 왜?
제 생각에는 실제로 사본에 다음이 포함되어 있을 때많은 작은 파일, 서버와 클라이언트 간의 통신(SSH 셸용)으로 인해 작은 지연이 많이 추가될 수 있지만(제가 틀렸다고 생각하시면 이 논리도 수정하시기 바랍니다), 큰 지연에 대해서는 잘 모르겠습니다.
(나에 대해 자유롭게 의견을 말해주세요."귀찮지 않아"위의 시나리오도 마찬가지입니다.)
답변1
SSH를 통해 머신에 접속하여 실행하면 cp fromFile toFile
해당 복사본은 원격 머신에서 완전히 실행됩니다. 복사를 수행하기 위해 SSH를 통해 통신하지 않습니다. 실제로 인수가 없으면 cp는 SSH 세션에 진행 상황을 보고하지도 않고 완료만 되며 프롬프트가 표시됩니다.
작은 파일을 많이 복사하고 를 사용하는 경우 cp -v
cp는 복사할 때 각 파일의 이름을 인쇄합니다. 이름을 인쇄하면 SSH 연결을 통해 통신이 이루어집니다. 연결 속도가 느린 경우 cp 명령은 ssh가 유선을 통해 파일 이름을 전송할 수 있는 것보다 더 빠르게 파일 이름을 인쇄할 수 있으며, 충분한 파일 이름을 인쇄한 후 cp가 stdout에 기록하려는 시도를 차단할 수 있는 것처럼 보입니다.
실제로 이런 일이 발생하는 것을 본 적이 없으며 디스크 속도가 항상 제한 요소였지만 이론적으로는 가능하다고 생각합니다.