【问题标题】:What is the most efficent way to measure true ping times?测量真实 ping 时间的最有效方法是什么?
【发布时间】:2022-01-31 12:20:04
【问题描述】:

我在 AWS-East-1(弗吉尼亚北部)有一台服务器,我正在尝试 ping www.binance.com,其服务器位于 AWS 东京。

命令:ping www.binance.com

我得到 0.5 毫秒的 ping 时间,这是不正确的。可能,ping 是从附近的某个路由器返回的,理论上即使以光速返回,至少需要 75 毫秒。

如何从我的 Linux 终端测量正确的 ping 延迟?

【问题讨论】:

  • 但这也取决于你如何知道服务器在东京,因为像币安这样的大型组织很可能会为他们的应用程序前端提供多区域服务
  • 了解 ping 仅测量 ICMP 时间,但这与应用程序性能无关,因为应用程序不使用 ICMP,但它们会使用其他东西,例如 TCP 或 UDP。 ICMP 是一种低优先级协议,它经常被忽略,直到设备在处理其主要工作后有时间。 Ping 的真正设计目的是报告可达性,而不是用于测试应用程序性能。

标签: linux networking ping low-latency


【解决方案1】:

假设您需要进行此测试以检查应用程序或网络的性能......

也许,您可以使用其他方法:

curl -o /dev/null -s -w '%{time_connect}\n' https://www.binance.com

它会返回 time_connect,所以也许它可以帮助您进行分析。

【讨论】:

    【解决方案2】:

    我建议您测量往返延迟。这是您的网络节点请求数据包发送到远程服务器的响应数据包返回给您的时间之间的延迟。可以通过Wireshark网络分析仪进行测量。它分析真实的流量。 结果比 ICMP 协议 (ping) 测试更准确。

    Wireshark 使用

    1. 确保您没有打开与目标服务器的任何连接(例如www.binance.com)。检查网络浏览器中的所有标签。
    2. 找出目标服务器的 IP 地址:dig +short www.binance.com 并记下所有找到的地址。
    3. 如果未安装 Wireshark 应用程序,请安装它。 启动Wireshark,选择正确的网络数据采集接口,开始采集。
    4. 打开您要测量的页面的 IP 地址,例如65.9.96.71 在浏览器中。刷新页面。如果在浏览器中显示错误,则没有问题。
    5. 在 Wireshark 中停止捕获。
    6. 将过滤器字符串放入 Wireshark 的显示过滤器字段。 (请参阅下面的过滤器示例。)按 Enter。只有选择了 IP 地址的数据包才会被显示。
    7. 观察第二列中的数据包时间。计算请求包和响应包之间的延迟。

    Wireshark 显示过滤器(每一行都是一个示例):

    ip.addr==65.9.96.71
    ip.addr==65.9.96.30 and tcp.port==80
    ip.addr==65.9.96.30 and tcp.port==443
    

    注意: Linux 中的 Wireshark 安装需要一些特殊步骤。确认您同意系统中的所有用户都可以使用 Wireshark。将您的用户添加到wireshark 组并重新登录以应用新的用户设置。

    usermod -aG wireshark <your_user>
    

    其他信息

    您可以通过traceroute 跟踪客户端和远程服务器之间的网络路径。它向您显示那里有哪些节点(路由器)。

    验证目标 IP 地址位于哪个国家/地区。使用一些 IP Whois 网页来获取详细信息。 https://ipwhois.io/

    【讨论】:

      猜你喜欢
      • 2010-09-27
      • 2021-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      相关资源
      最近更新 更多