저는 미친 짓을 하고 싶지 않습니다. 클라이언트-서버 다운로드 및 업로드 속도만 측정하면 됩니다.
내가 실행하는 서버에서:
iperf3 -s
클라이언트 측에서는 다음을 실행합니다.
iperf3 -c IP_ADDESS
내 결과는 다음과 같습니다.
Connecting to host IP_ADDRESS, port 5201
[ 4] local LAN_IP port 2722 connected to IP_ADDRESS port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.01 sec 256 KBytes 2.08 Mbits/sec
[ 4] 1.01-2.01 sec 128 KBytes 1.05 Mbits/sec
[ 4] 2.01-3.01 sec 128 KBytes 1.05 Mbits/sec
[ 4] 3.01-4.01 sec 128 KBytes 1.05 Mbits/sec
[ 4] 4.01-5.01 sec 128 KBytes 1.05 Mbits/sec
[ 4] 5.01-6.01 sec 128 KBytes 1.05 Mbits/sec
[ 4] 6.01-7.01 sec 128 KBytes 1.05 Mbits/sec
[ 4] 7.01-8.01 sec 128 KBytes 1.05 Mbits/sec
[ 4] 8.01-9.01 sec 0.00 Bytes 0.00 bits/sec
[ 4] 9.01-10.01 sec 128 KBytes 1.05 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.01 sec 1.25 MBytes 1.05 Mbits/sec sender
[ 4] 0.00-10.01 sec 1.07 MBytes 896 Kbits/sec receiver
iperf Done.
나는 그것이 무엇에 연결되어 있는지 먼저 알려주고 매 1초마다(기본적으로) 그 1초 동안 어떻게 수행되었는지 보고한다는 것을 알고 있습니다. 무엇인가요:
- 결과? 기본적으로 데이터는 클라이언트에서 서버로 전송됩니다(-R이 지정되지 않은 경우 반대의 경우도 마찬가지입니다). 그렇다면 이것이 단방향 전송의 결과라면 왜 결과에 2개의 행이 있습니까?
- ID 값. 내가 아는 한 그들은 모두 4명이다.
역방향 전송을 수행하는 경우:
iperf3 -c IP_ADDRESS -R
결과에는 추가 필드가 포함됩니다.
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 3.02 MBytes 2.53 Mbits/sec 21 sender
[ 4] 0.00-10.00 sec 2.94 MBytes 2.46 Mbits/sec receiver
이 Retr
필드는 TCP가 21개의 패킷을 재전송해야 함을 의미합니까?
답변1
저도 같은 문제가 있어서 파헤쳐봤습니다암호그리고 올바른 답을 찾으시기 바랍니다.
두 줄은 양쪽의 측정값을 나타냅니다. 이 결과는 동일해야 한다고 주장할 수도 있습니다. 그러나 두 결과에서 볼 수 있듯이 수신자는 발신자보다 더 적은 데이터를 측정했습니다. 주된 이유는 측정값을 시간별로 나누기 때문입니다. 예를 들어 (첫 번째 패킷부터) 10초를 측정하면 n개의 패킷을 전송하지만, 수신자는 첫 번째 패킷으로부터 10초 이상 후에 마지막 패킷을 수신할 수 있습니다. 그래서 이것들은 중요하지 않습니다. 패킷 손실도 있습니다.
이것이 채워집니다
sp->socket
. 따라서 결국 이것은 소켓의 파일 설명자(int로 변환됨)입니다.-P
깃발을 들고 달려 보세요 . 각 연결/소켓의 ID가 서로 다른 것을 볼 수 있습니다.귀하의 가정은 부분적으로 정확합니다. 이 필드는 를 나타냅니다
sp->result->stream_retrans
. 따라서 이는 재전송입니다. 이 필드는 재전송이 발생한 경우에만 표시됩니다(0은 표시되지 않음). 따라서 이것은 방향 독립적이어야 합니다.