使用 Netstat 計算額外負荷
計算 Netstat 的額外負荷應該在無訊息網路上執行,以避免其他網路流量扭曲資料,例如廣播或多播流量。
使用 Netstat 計算應用程式的網路額外負荷
- 使用 Netstat 擷取目前的介面統計資料。
- 執行應用程式。
- 再次使用 Netstat 取得介面統計資料。
- 計算兩個 Netstat 度量之間收到的位元組數目。
範例
下列範例示範這些步驟,使用 TTCP 一次傳送 10 個位元組的資料。
首先,會計算應用程式的理論額外負荷。 在此測試中,所有封包都是 60 個位元組, (乙太網路最小) 。 此傳輸需要三個封包來設定連線、10 個數據封包、10 個通知封包, (延遲的 ACK 幾乎每次觸發) ,以及四個封包以正常方式關閉連線。
這相當於每個 60 個位元組的 27 個封包,或 1620 個位元組 (3+4+10+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 值中未考慮填補位元組。
相關主題