我正在尝试找出一种方法来检测连接到我服务器上端口 80 的每个 IP 的往返时间。这样做的好方法是什么?
有很多连接,ping 每个 ip 是不切实际的。我在想,以某种方式测量服务器发送 syn/ack 数据包和服务器接收到它的 ack 之间的时间差。
有没有办法便宜地记录这个?也许使用一些神奇的 tcpdump 过滤器?
此练习的目标是汇总数据并确定是否存在路由效率低下的问题。假设一个地区的一个 ISP 可能路由不正确,等等。
FWIW 网络服务器是 nginx。
我正在尝试找出一种方法来检测连接到我服务器上端口 80 的每个 IP 的往返时间。这样做的好方法是什么?
有很多连接,ping 每个 ip 是不切实际的。我在想,以某种方式测量服务器发送 syn/ack 数据包和服务器接收到它的 ack 之间的时间差。
有没有办法便宜地记录这个?也许使用一些神奇的 tcpdump 过滤器?
此练习的目标是汇总数据并确定是否存在路由效率低下的问题。假设一个地区的一个 ISP 可能路由不正确,等等。
FWIW 网络服务器是 nginx。
我的新服务器有 2 个 X5570 CPU。
现在这里是 grep -i hz /proc/cpuinfo 的输出
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
cpu MHz : 1600.231
它始终保持不变.. 无论 mysql 或任何其他应用程序占用多少负载。即使 mysql 以 100% 的速度吃掉 2 或 3 个 CPU,cpuinfo 的输出也是一样的。
如果事实上某些重插入的 mysql 性能比我的旧 E5430 服务器差。
有什么线索吗?我联系了服务器提供商,他们尝试关闭 SpeedStep,但我们仍然看到相同的结果。
任何见解都会有所帮助,因为我为这个盒子付出了沉重的代价,并且很想尽我所能挤奶。
我有一个奇怪的问题,托管在 Softlayer 华盛顿数据中心。
从 EC2 实例到我在 Softlayer 的服务器进行测试:-
[root@EC2-box ~]# ping -f -c 100 MY-SL-BOX
PING MY-SL-BOX (MY-SL-BOX) 56(84) bytes of data.
..................................................
--- MY-SL-BOX ping statistics ---
100 packets transmitted, 50 received, 50% packet loss, time 743ms
rtt min/avg/max/mdev = 2.464/2.906/3.606/0.220 ms, ipg/ewma 7.505/2.927 ms
[root@EC2-box ~]#
从 EC2 实例到 www.softlayer.com(或任何其他网站)进行测试:-
[root@EC2-box ~]# ping -f -c 100 www.softlayer.com
PING www.softlayer.com (66.228.118.51) 56(84) bytes of data.
--- www.softlayer.com ping statistics ---
100 packets transmitted, 100 received, 0% packet loss, time 1168ms
rtt min/avg/max/mdev = 35.143/35.485/36.216/0.211 ms, pipe 4, ipg/ewma 11.804/35.518 ms
[root@EC2-box ~]#
从我在 softlayer 的服务器到 EC2 实例的测试:-
[root@MY-SL-BOX ~]# ping -f -c 100 7EC2-box
PING 7EC2-box (7EC2-box) 56(84) bytes of data.
.................................................
--- 7EC2-box ping statistics ---
100 packets transmitted, 51 received, 49% packet loss, time 866ms
rtt min/avg/max/mdev = 2.067/2.378/2.679/0.131 ms, ipg/ewma 8.756/2.414 ms
从我在 softlayer 的服务器测试到 www.softlayer.com 实例:-
[root@MY-SL-BOX ~]# ping -f -c 100 www.softlayer.com
PING www.softlayer.com (66.228.118.51) 56(84) bytes of data.
....................................................
--- www.softlayer.com ping statistics ---
100 packets transmitted, 48 received, 52% packet loss, time 1424ms
rtt min/avg/max/mdev = 33.677/34.041/34.693/0.240 ms, pipe 4, ipg/ewma 14.386/34.083 ms
注意..在上述所有情况下,当我不使用“-f”选项时,根本没有丢包。7EC2-box 和 MY-SL-BOX 是真实 IP。我掩盖了他们在这里发帖。
如果我从我的服务器对任何其他 IP 进行跟踪路由,甚至 ping -f 显示的第一个节点,它会显示 50% 的数据包丢失,而没有“-f”则不会丢失。
我与支持人员交谈,他们说因为没有“-f”没有问题,所以这里没有问题。
他们是对的吗?
奇怪的是,从任何外部网络到任何站点的“ping -f”都没有显示任何损失,而只是对我的。
我已经搜索了一个小时,如果有人能指出一些测试丢包的详细说明,将不胜感激。