SSH 대역폭 제한을 제거하는 방법은 무엇입니까?

SSH 대역폭 제한을 제거하는 방법은 무엇입니까?

저는 Archlinux를 실행하도록 설정한 서버를 만지작거리고 있습니다. scp 또는 rsync를 사용하여 서버에서 파일을 검색하려고 할 때 다운로드 속도가 약 1.1MiB/s로 제한되어 비정상적으로 낮은 것을 발견했습니다. 파일을 보낼 때 속도는 120MiB/s입니다. 문제가 발생하지 않았습니다. (http를 사용하여 70MiB/s의 속도로 파일을 다운로드할 수도 있었습니다)

그런 다음 다음과 같은 실험을 했습니다.

LOCAL: $ ssh login@host
REMOTE: $ cat HUGE_FILE

결과: 터미널에 파일 내용이 표시되고 다운로드 속도는 약 15MiB/s입니다.

LOCAL: $ ssh login@host "cat HUGE_FILE"

결과: 파일 내용이 터미널에도 표시되지만 다운로드 속도는 1.1MiB/s에 불과합니다.

(편집: ssh -t login@host "cat HUGE_FILE"동일한 결과를 제공합니다)

단일 명령을 직접 실행할 때 특정 제한 사항이 있는 것 같지만 일반 세션에서는 그렇지 않습니다. 가능한 한 열심히 검색했지만 그러한 제한을 활성화하는 구성 파일을 찾을 수 없습니다.

따라서 누구든지 이 문제의 원인과 해결 방법에 대해 제안 사항이 있으면 매우 감사하겠습니다.

답변1

확인하다https://stackoverflow.com/questions/20244585/how-does-scp-differ-from-rsync

  • 먼저 변동성을 배제하세요.
    • test.tarRAM보다 25% 작은 간단한 파일을 만듭니다 . 예를 들어 16GB RAM이 있는 경우 ~2GB test.tar를 만듭니다. 개별 파일이 너무 작으면 복사 시간이 길어서 신뢰할 수 있는 결과를 제공할 수 없습니다. 너무 큰 파일은 RAM에서 부족하고 디스크 I/O가 적합해지게 됩니다. 이는 좋지 않습니다.
    • 사용scp
    • 디스크에서 읽는 데 시간이 걸리므로 특히 클린 부팅 후 첫 번째 복사본의 속도 결과를 사용하지 마세요. 디스크 캐시가 실행 중이고 캐시가 test.tarRAM에 있는지 확인하기 위해 3개 이상의 복사본을 만듭니다.
    • 일을 단순하게 유지하세요...내가 설정한 서버에서 플레이하고 있어요test.tar...그래서 적절한 크기의 단일 파일을 만들고 scp보고된 속도만 실행하고 사용하세요.
    • mount -t tmpfs -o size=8g tmpfs /ramdisk하나 만들 수 있어메모리 디스크그런 다음 test.tar거기에 당신의 것을 넣고 거기에서 복사하십시오.메모리 디스크디스크 I/O 위치 문제를 해결하는 데 도움이 됩니다.
    • Linux를 런레벨 3으로 설정해 볼 수도 있습니다.다중 사용자 대상CPU가 다른 작업에 집중하는 대신 바쁜 곳에서 실행 중인 백그라운드 프로세스를 줄입니다 scp. 하지만 런레벨 5에서는 이 문제가 발생하지 않았습니다.그래픽 타겟적어도 RHEL/CentOS/Rocky의 경우.
  • 본질적인 SSH 대역폭 제한은 없으며현대의이 하드웨어 수준 암호화 처리를 담당하는 명령 세트와 CPU(이제 용어는 잊어버렸습니다)를 사용하면 암호화 오버헤드가 거의 없으며 복사 속도에 영향을 미치지 않습니다 scp.
  • /etc/ssh/sshd_config를 기반으로 Ciphers파일을 조정할 수 있으며 Macs복사 속도에 상당한 차이가 있음을 발견했지만 scp이는 200gbps 인피니밴드(예: RHEL 7.9의 400MB/s 대 700MB/s 및 1.0GB/s)에서 관찰되었습니다. 1Gbps 유선 LAN에서는 차이를 느끼지 못할 것 같습니다. RHEL 8.9에서는 더 이상 존재하지 않는다는 것을 알았으며 Ciphers지금 은 이를 적용하는 다른 방법이 있다고 생각합니다.MACssshd_config
  • 당신은 MiB/s그 맥락을 이해할 필요가 없다고 언급했습니다. 내가 아는 것은 창 하단에 있는 scp보고서를 사용 MB/s하고 삼바를 사용하면 Windows10의 팝업 MB/s에 유선 1gbps LAN/WAN에서의 복사 속도가 표시된다는 것입니다. 제 생각에는 112-113MB/s 정도는 절대 얻을 수 없습니다. 1gbps = 1000mbit/s / 바이트당 8비트 = 최대 125MB/s, 그러면 오버헤드가 10% 감소합니다 = ~112MB/s.
  • 전송 속도가 일정한 112MB/초보다 낮은 데에는 여러 가지 이유가 있을 수 있습니다(단일 400GB 이상의 tar 파일에서 X분이 걸렸습니다). 이는 768GB RAM과 엔터프라이즈급 SSD를 갖춘 서버에서였습니다. 하드웨어에 따라 상황이 분명히 달라질 수 있습니다.
    • 사용 중인 모든 하드웨어를 지정해야 하며, 그러면 전송 속도가 느린 이유가 분명해질 수 있습니다.

그리고... 설정한 아치 리눅스 서버에 대해서는 언급했지만 다른 서버에 대해서는 언급하지 않았습니다.섬기는 사람과거 및 환승하려는 위치/목적지. 따라서 전송이 라우터, ISP 및 인터넷을 통해 진행되는 경우 아마도 병목 현상이 발생하는 곳일 것입니다. 두 번째 서버를 직접 설정하고 cat5e 또는 cat6 케이블을 통해 직접 연결하거나 간단한 1gbps $10 유선 스위치(라우터 아님)를 사용해야 합니다.

관련 정보