我正在尝试找出一种方法来检测连接到我服务器上端口 80 的每个 IP 的往返时间。这样做的好方法是什么?
有很多连接,ping 每个 ip 是不切实际的。我在想,以某种方式测量服务器发送 syn/ack 数据包和服务器接收到它的 ack 之间的时间差。
有没有办法便宜地记录这个?也许使用一些神奇的 tcpdump 过滤器?
此练习的目标是汇总数据并确定是否存在路由效率低下的问题。假设一个地区的一个 ISP 可能路由不正确,等等。
FWIW 网络服务器是 nginx。
我正在尝试找出一种方法来检测连接到我服务器上端口 80 的每个 IP 的往返时间。这样做的好方法是什么?
有很多连接,ping 每个 ip 是不切实际的。我在想,以某种方式测量服务器发送 syn/ack 数据包和服务器接收到它的 ack 之间的时间差。
有没有办法便宜地记录这个?也许使用一些神奇的 tcpdump 过滤器?
此练习的目标是汇总数据并确定是否存在路由效率低下的问题。假设一个地区的一个 ISP 可能路由不正确,等等。
FWIW 网络服务器是 nginx。
http://nginx.org/en/docs/http/ngx_http_core_module.html#variables
如果您可以访问 linux 或 unix 机器1,则应该使用tcptrace。您需要做的就是使用wireshark或tcpdump将客户端流量捕获到 pcap 文件中。
获得该
.pcap
文件2后,使用tcptrace -xtraffic <pcap_filename>
3进行分析。这将生成两个文本文件,该 pcap 中所有连接的平均 RTT 统计数据显示在名为traffic_stats.dat
.本
.pcap
示例中使用的文件是我在循环执行expect
从我的其中一台服务器提取数据的脚本时生成的捕获文件。这就是我生成循环的方式......尾注:
tcptrace
如果您使用其他选项,则能够获得非常详细的每个插槽统计信息...