Netstat를 사용하여 오버헤드 계산
Netstat로 오버헤드를 계산하는 작업은 다른 네트워크 트래픽이 브로드캐스트 또는 멀티캐스트 트래픽과 같은 데이터를 왜곡하지 않도록 조용한 네트워크에서 수행해야 합니다.
Netstat 사용하여 애플리케이션의 네트워크 오버헤드를 계산하려면
- Netstat를 사용하여 현재 인터페이스 통계를 검색합니다.
- 애플리케이션을 실행합니다.
- Netstat를 사용하여 인터페이스 통계를 다시 가져옵니다.
- 두 Netstat 측정값 간에 수신된 바이트 수를 계산합니다.
예
다음 예제에서는 TTCP를 사용하여 10바이트의 데이터를 한 번에 하나씩 전송하는 이러한 단계를 보여 줍니다.
먼저 애플리케이션에 대한 이론적 오버헤드가 계산됩니다. 이 테스트의 경우 모든 패킷은 60바이트(이더넷 최소)입니다. 이 전송을 수행하려면 연결을 설정하려면 3개의 패킷, 10개의 데이터 패킷, 10개의 승인 패킷(지연된 ACK는 거의 매번 트리거됨) 및 정상적으로 연결을 닫는 4개의 패킷이 필요합니다.
이는 각각 60바이트의 패킷 27개 또는 1620바이트(3+4+10+10)*60=1620)와 같습니다. 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 값에서 고려되지 않기 때문에 이론적 값과 일치하지 않습니다.
관련 항목