통큰아이 서버를 사용하고 있습니다. 

전송대역폭은 30Mbps입니다.

해외전송에는 속도 저하가 있다곤 하지만 국내 서버로의 전송도 크게 다르지 않습니다.

rsync -avzP 명령어로 테스트해보면 약 100메가 짜리 압축 파일인데

 

30MB/s > 17MB/s > 8MB/s > 6MB/s > 4kB/s

 

5초 안에 10Mb/s 대에서 4kB/s로 뚝 떨어집니다.

 

speedtest-cli로 테스트해보면 할 때마다 편차가 있습니다만

스크린샷 2024-05-16 오전 8.10.38.png

다운로드는 192Mbit/s, 70Mbit/s 나오는 건 문제가 없는데,

업로드가 9Mbit/s, 14Mbit/s 찍힐 때도 있지만 실제로 rsync할 때는 그 속도가 5초 안에 금방 떨어져서 파일을 다운로드할 수가 없을 정도입니다. (rsync, scp 동일하게 5kB/s 정도 속도입니다.)

 

FTP는 조금 그 사정이 낫긴 합니다. 지난 일요일에는 3MiB/s 정도 나올 때도 있었는데, 요즘은 3-4M 나오다가,

지금은 100M 정도 나옵니다. (음..?)

 

KakaoTalk_Photo_2024-05-16-08-17-46.png

https://github.com/librespeed/speedtest

웹에서 speedtest를 실행해보면, 이렇게 잘 됩니다. 웹에서 파일매니저를 실행해도 저 정도는 나오는거 같습니다.

 

웹에서 직접 다운로드할 때나, FTP는 괜찮은데.

서버에서 서버로 내보내기할 때는 속도가 그만큼 안 나오는 거 같습니다.

국내서버(vultr, 서울리전), 해외서버 둘다 테스트해봤습니다만 그 현상은 비슷했습니다.

 

# iperf3 테스트

서버에 iperf3 를 설치하고 iperf3 -s 서버에서 실행해준 뒤

제 컴퓨터에 iperf3를 설치하고 iperf3 -c 아이피 실행해서 테스트해보면

스크린샷 2024-05-16 오전 8.59.51.png

 

 

해외서버에서 통큰으로 iperf3 -c 아이피로 테스트해보면 아래와 같습니다.

스크린샷 2024-05-16 오전 9.01.27.png

 

해외라도 20메가는 나와주고 있다는 건데

rsync, scp만 느린 건 이해가 안되는데요.

 

rsync 대역폭 제한하기 - 스마일서브 IDCHOWTO닷컴

이런걸 서버 자체에서 제한할 수도 있는 걸까요?

 

scp -c aes128-ctr -r -l 3000

scp 명령어에서 속도 제한을 걸거나(3메가), 암호화 방식 옵션을 사용해봐도 전송 속도는 동일했습니다.

 

sudo sysctl -w net.core.rmem_max=16777216

sudo sysctl -w net.core.wmem_max=16777216

sudo sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"

sudo sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"

TCP 설정을 해도 동일했습니다.

  • profile

    Vultr 서울지점은 똥큰아이 입장에서 국내서버가 아닙니다. 국내 기관이 KISA에 등록한 대역이 아니니까요. 당연히 어마무시하게 쓰로틀링이 들어갑니다. 지금은 어떤지 모르겠지만, 몇 년 전에는 AWS 서울지점도 쓰로틀링하는 패기를 보여주던 업체입니다. (AWS는 더이상 업계에서 무시할 수 없게 되었지만, Vultr는 다른 데서도 많이 쓰로틀링합니다.)

    포트에 따라 쓰로틀링 강도가 다릅니다. 주로 암호화 통신을 하는 https를 더 심하게 하더군요. 구글 fcm 등 https 기반의 해외 api는 실사용이 불가능한 수준이었습니다. scp와 rsync도 ssh 포트로 암호화 통신을 하니 비슷할 것 같습니다.

  • profile profile
    그랬던 거였군요. 국내 기관이 kisa에 등록한 대역이 아니라서 쓰로틀링이 발생했던 거였군요 ㅠㅠ
    web, ftp는 이 정도가 아니었는데 22포트인 ?
    그러면 ssh 를 21 포트로 적용해버리면? ;;;
  • profile profile
    그다지 똑똑한 로직은 아닌 것 같으니, 포트 변경 꼼수도 충분히 시도해 볼 만 하죠.
    만약 80번 포트를 쓸 수 있다면 그야말로 무적입니다. ㅎㅎ
  • profile
    rsync 호출 위치를 서로 바꿔보세요. 통큰아이에서 보내는게 아니라 다른서버에서 가져오는걸로.
  • profile profile
    1. 통큰에서 가져오는 걸로 테스트해봤는데 보내는 걸로 다시 테스트해봤습니다.
    2. protocol version mismatch -- is your shell clean?
    (see the rsync manpage for an explanation)
    rsync error: protocol incompatibility (code 2) at compat.c(622) [sender=3.2.7]
    이렇게 나오길래, nano ~/.bashrc 해서 clear도 해보고 해당 파일 새로 만들어도 보고 해도 똑같길래
    3. sync 버전 최신으로 업데이트하고는 되서 해보니깐
    4. 처음에는 M 단위로 속도가 찍히다가 또 기다려보면 4kB/s 로 줄어드네요 ㅠㅠ