다음을 통해 공유


Netstat를 사용하여 오버헤드 계산

브로드캐스트 또는 멀티캐스트 트래픽과 같은 다른 네트워크 트래픽이 데이터를 왜곡하지 않도록 조용한 네트워크에서 Netstat를 사용하여 오버헤드를 계산해야 합니다.

Netstat를 사용하여 애플리케이션의 네트워크 오버헤드를 계산하려면

  1. Netstat를 사용하여 현재 인터페이스 통계를 검색합니다.
  2. 애플리케이션을 실행합니다.
  3. Netstat를 사용하여 인터페이스 통계를 다시 가져옵니다.
  4. 두 Netstat 측정값 간에 수신된 바이트 수를 계산합니다.

예제

다음 예제에서는 TTCP를 사용하여 한 번에 1바이트씩 10바이트의 데이터를 보내는 이러한 단계를 보여 줍니다.

먼저 애플리케이션에 대한 이론적 오버헤드가 계산됩니다. 이 테스트의 경우 모든 패킷은 60바이트(이더넷 최소)입니다. 이 전송을 수행하려면 연결을 설정하려면 3개의 패킷, 10개의 데이터 패킷, 10개의 승인 패킷(지연된 ACK는 거의 매번 트리거됨) 및 연결을 정상적으로 닫는 4개의 패킷이 필요합니다.

이는 각각 60바이트 또는 1620바이트(3+4+10+10)*60=1620)의 27개 패킷과 같습니다. 10바이트의 데이터만 전송되므로 오버헤드는 1610바이트이며 프로토콜 오버헤드의 99%를 초과합니다.

명령

netstat -e

Interface Statistics
                     Received     Sent
Bytes                392291400    444684566
Unicast packets      487627       570086
Non-unicast packets  1159163      11300
Discards             0            0
Errors               0            0
Unknown protocols    52812

ttcp -t -h0 -D -l1 -n10 -p9 172.31.71.99

ttcp-t: 10 bytes in 2168 real milliseconds = 0 KB/sec
ttcp-t: 10 I/O calls, msec/call = 216, calls/sec = 4, bytes/call = 1

netstat -e

Interface Statistics
                      Received     Sent
Bytes                 39229207     444685382
Unicast packets       487641       570100
Non-unicast packets   1159164      11301
Discards              0            0
Errors                0            0
Unknown protocols     52812

계산

보낸 사람: 816바이트

수신: 674바이트

총 바이트 수: 1490

사용자 바이트: 10

오버헤드: 1480/1490 = 99.3%

**Goodput: **= 5바이트/초(또는 40비트/초)

참고

전송된 실제 바이트는 Netstat 값에서 패딩 바이트가 차지되지 않아 이론적 값과 일치하지 않습니다.

 

애플리케이션 동작

고성능 Windows 소켓 애플리케이션