Answers:
从总体上看,您的问题的严重程度netstat -s
将跟踪您的重传总数。
# netstat -s | grep retransmitted
368644 segments retransmitted
您可以通过aso grep segments
获得更详细的视图:
# 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
有-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
您可以使用该ss
工具获取详细的TCP统计信息:
$ /sbin/ss -ti
在Debian下,用于apt-get install iproute
获取二进制文件。
watch ss -ti
。
看起来北卡罗来纳大学(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重传。此外,还对每次重传进行评估,以确定是否需要重传。
我不会说这是生产质量。以前,我已经构建了快速的perl脚本来将ip / port / ack元组存储在内存中,然后通过扫描pcap输出报告重复数据,这看起来可以提供更全面的分析。
显然,不错的旧sar可以收集重新传输(以及其他tcp统计信息)以及所有其他种类的系统统计信息,如果您调查cpu,内存,磁盘I / O等问题,这些信息也可能会很有趣。
您可能需要安装一个软件包:sysstat并使用-S SNMP开关启用这种特殊类型的统计信息,在RHEL / OracleLinux上,此配置在/etc/cron.d/sysstat中进行,其中调用/ usr / lib64 / sa / sa1默认情况下,每5分钟更改一次,但也可以进行调整。
对于此数据的分析,请使用: