삭제된 서버의 연결을 테스트하기 위해 다음 명령을 실행합니다.
ssh -l user $IP "dd if=/dev/zero count=3500 bs=1M status=progress" > /dev/null
이는 양식의 진행 보고서를 보여줍니다.
3145728000 bytes (3,1 GB, 2,9 GiB) copied, 276,047 s, 11,4 MB/s
dd
읽기 속도는 초당 11MB인 것 같습니다 . 그러나 네트워크 대역폭은 약 20mbit 미만으로 제한되는 것으로 알려져 있으므로 이는 실제 수신되는 데이터 양이 아닐 가능성이 높습니다.
iftop
수신 시스템에 표시되는 처리량은 약 300kbit이며 이는 가능한 것보다 훨씬 적지만 더 현실적입니다.
질문:dd
SSH 연결을 통해 파이핑할 때 진행 상태는 실제로 무엇을 의미합니까? 수신 측이 따라잡을 수 없으면 데이터가 손실됩니까? 무슨 일이에요?
답변1
SSH는 압축 프로토콜로 실행될 수 있으며 결과에 따라 배포 또는 구성에서 기본적으로 활성화되어 있습니다(또는 사용하고 있습니다 ssh -C
). 따라서 읽은 내용에 따르면 제로 스트림은 압축 비율이 약 300인 보다 컴팩트한 것으로 잘 압축됩니다. 최종 결과는 원래 크기의 약 0.3%입니다. 따라서 수신기에서 엄청난 결과를 생성하는 데 소량의 네트워크 대역폭만 필요하므로 네트워크 속도를 테스트하는 데 최선의 선택은 아닙니다.
-o Compression=no
명령줄에서 요청 시 압축을 해제하거나 Compression no
SSH 클라이언트 구성에서 지정하여 연결에 대한 압축을 영구적으로 해제할 수 있습니다.
또 다른 옵션은 보다 기본적인 것을 사용하는 것입니다. 예를 들어 netcat
압축, 인증 또는 유사한 기능을 구현하지 않지만 이러한 이유로 실제 파일 전송에는 일반적으로 권장하지 않습니다.