检测http的客户端往返时间的廉价方法

saj*_*jal 6 networking linux nginx tcpdump linux-networking

我试图找出一种方法来检测连接到我服务器上端口 80 的每个 IP 的往返时间。有什么好的方法可以做到这一点?

有很多连接,ping每个ip是不切实际的。我在想,以某种方式测量服务器发送 syn/ack 数据包和服务器收到它的 ack 之间的时间差。

有没有办法便宜地记录这个?也许使用一些神奇的 tcpdump 过滤器?

此练习的目标是汇总数据并计算是否存在任何路由效率低下的情况。假设一个地区的一个 ISP 可能路由不正确,等等。

FWIW 网络服务器是 nginx。

VBa*_*art 6

$tcpinfo_rtt、$tcpinfo_rttvar、$tcpinfo_snd_cwnd、$tcpinfo_rcv_space

information about the client TCP connection; available on systems that support
the TCP_INFO socket option
Run Code Online (Sandbox Code Playgroud)

http://nginx.org/en/docs/http/ngx_http_core_module.html#variables