저는 iperf를 사용하여 두 가상 머신 간의 간단한 대역폭 테스트를 실행하고 있습니다. 내가 얻은 TCP 및 UDP 대역폭 판독값은 매우 다르며 UDP 대역폭은 TCP보다 훨씬 낮습니다.
TCP:
root@i-sahmed-node2: ~ # iperf -c 10.160.24.123 ------------------------------------- ---------- 클라이언트는 10.160.24.123, TCP 포트 5001에 연결됩니다. TCP 창 크기: 85.0KB(기본값) ------------------------------------- ---------- [3] 로컬 10.160.24.170 포트 48339가 10.160.24.123 포트 5001에 연결됩니다. [ID] 간격 전송 대역폭 [3] 0.0~10.0초 7.41GB 6.36GB/초 root@i-sahmed-node2: ~ #
UDP:
root@i-sahmed-node2: ~ # iperf -c 10.160.24.123 -u -b 6g ------------------------------------- ---------- 클라이언트는 10.160.24.123, UDP 포트 5001에 연결됩니다. 1470바이트 데이터그램 보내기 UDP 버퍼 크기: 208KB(기본값) ------------------------------------- ---------- [3] 로컬 10.160.24.170 포트 51922가 10.160.24.123 포트 5001에 연결됩니다. [ID] 간격 전송 대역폭 [3] 0.0-10.0초 962MB 807Mbits/초 [3] 686548개의 데이터그램이 전송되었습니다. [3] 서버 보고서: [3] 0.0-10.0초 630MB 528Mbits/초 0.009밀리초 237368/686547 (35%) [3] 0.0-10.0초 9개의 데이터그램이 순서 없이 수신됨 root@i-sahmed-node2: ~ #
거의 매번 이것을 재현할 수 있습니다. 가상 머신에서 실행 중이므로 기본 하드웨어에 직접 액세스할 수 없습니다. 왜 이런 일이 일어나는지 아는 사람이 있나요?
답변1
./iPerf
UDP 모드에서는 각 UDP 패킷의 성능을 추적해야 하지만 TCP 모드에서는 유일한 상호 작용이 최종 요약입니다.
800Mb/초는 게스트 VM에서 본 한계와 비슷합니다.