回答:
問題の規模の一般的な意味についてはnetstat -s
、再送信の総数を追跡します。
# netstat -s | grep retransmitted
368644 segments retransmitted
segments
より詳細なビューを取得するには、grepを使用できます。
# netstat -s | grep segments
149840 segments received
150373 segments sent out
161 segments retransmitted
13 bad segments received
より深く潜るには、おそらくWiresharkを起動する必要があります。
Wiresharkで、フィルタを設定してtcp.analysis.retransmission
、フローごとの再送信を確認します。
それは私が思いつくことができる最高のオプションです。
調査された他の行き止まり:
netstat -s
は、それが単なる印刷であることを示しました/proc/net/netstat
retransmited
は私のために綴られています(Ubuntu Server 14)。
これらの統計は/ proc / net / netstatにありcollectl
、インタラクティブに監視するか、後で再生するためにディスクに書き込まれます:
[root@poker ~]# collectl -st
waiting for 1 second sample...
#<------------TCP------------->
#PureAcks HPAcks Loss FTrans
3 0 0 0
1 0 0 0
もちろん、ネットワークトラフィックと並べて表示する場合は、n
withを含めます-s
。
[root@poker ~]# collectl -stn
waiting for 1 second sample...
#<----------Network----------><------------TCP------------->
# KBIn PktIn KBOut PktOut PureAcks HPAcks Loss FTrans
0 1 0 1 1 0 0 0
0 1 0 1 1 0 0 0
ノースカロライナ大学(UNC)の何人かの男が、これを正確に調査するユーティリティを構築したようです。
方法論
TCPは、変更の対象となるレガシープロトコルの典型的な例です。残念ながら、TCPの損失検出/回復メカニズムと同じくらい基本的なものの評価は包括的なものではありません。私たちの目的は、TCP損失とそのTCPパフォーマンスへの影響を完全に現実的に評価することです。
私は、実世界のTCP接続の受動的分析に依存して、分析で必要な詳細レベルと現実感を実現しています。
http://www.cs.unc.edu/~jasleen/Research-passivetcp.htm#Tool
ツール
このツールの目的は、tcpanaly、tcpflows、LEAST、Mysteryなどの従来のツールで提供されているものよりも、シーケンス外のセグメントを特定し、特徴付けるためのより完全で正確な結果を提供することです。私たちの方法論は、パケットトレースでシーケンス外(OOS)に見える各セグメントを次のカテゴリのいずれかに分類します:タイムアウト、重複ACK、部分ACK、選択的ACK、または暗黙的な回復のいずれかによってトリガーされるネットワーク再配列またはTCP再送信。さらに、各再送信は、必要かどうかも評価されます。
生産品質だとは言いません。以前、メモリにip / port / ackタプルを保存し、pcap出力をスキャンして重複したデータをレポートするためのクイックperlスクリプトを作成しました。これは、より徹底的な分析を提供するようです。
どうやら古き良きsarは再送信(および他のtcp統計)を収集でき、CPU、メモリ、ディスクI / Oなどの問題を調査する場合に興味深いその他のあらゆる種類のシステム統計も収集できます。
パッケージをインストールする必要がある場合があります:sysstatおよびスイッチ-S SNMPでこの特定の種類の統計を有効にします。RHEL/ OracleLinuxでは、これは/etc/cron.d/sysstatで構成され、/ usr / lib64 / sa / sa1が呼び出されます。デフォルトでは5分ごとですが、調整することもできます。
このデータの分析には次を使用します。