一个简单的问题。我使用以下网站测试了我的域名http://cloudmonitor.ca.com/en/ping.php
它显示所有国家/地区的数据包丢失率都很高。 数据包丢失率为 70-100% 这是否意味着我的网站加载速度很慢或对这些国家/地区的用户来说根本无法加载?
答案1
简短回答:是的。
长答案:这取决于。
零是唯一可以接受的数据包丢失量。
数据包丢失量 > 0 表示某个地方存在问题,需要进行调查。
少量数据包丢失(偶尔<5%)可能会导致网站变慢(从重传延迟或丢失 DNS 查询),但普通用户可能不会注意到。
中度丢包(最高可达 10%,半定期发生)通常很明显。网站会变得“缓慢”。
高丢包率(>10%,半定期/持续)会激怒您的用户。网站将需要很长时间才能加载,或者根本无法加载。网站可能会慢得令人难以忍受,以至于人们不再访问。
你没有遇到“高”数据包丢失——你正在经历极端数据包丢失(70% 以上的发送量都无法到达目的地——如果 UPS 以这种方式运作,您将永远不会再通过他们发送任何东西)。
我预计没有什么要处理像您所声称的那么严重的数据包丢失——您实际上并没有连接到互联网。
我的建议是解决数据包丢失问题(例如“寻找新的提供商”)。
您所描述的情况完全不可接受。
答案2
你的网络服务器对 ping 请求的响应很差,但这与它作为网络服务器。除非你专门设计它以善于响应 ping,否则没有理由期望它能做得这么好,也不会在意它是否能做到。
更新:看起来管理服务器的人与测量服务器性能的人之间似乎没有协调。我非常担心防火墙配置不够周全,可能会阻碍路径 MTU 发现等功能。
答案3
您可以通过几种方法来确定它是否是您的网站托管提供商,或者它是否距离您的服务器端点只有一两个跳数。我建议您登录到托管您网站的服务器(前提是您确实可以登录到它)并运行到各个域的 mtr(这也假设您正在运行某种版本的 Linux,尽管我认为 Windows 有一个 MTR)。
示例命令如下:mtr somedomainhere.com
我会推荐各种网站,例如 google、amazon、facebook 或其他一些最有可能响应 ICMP 回显请求的知名服务器。
如果您只想运行一段时间,您可以使用 -c 标志来设置数据包数。
示例:mtr -c 500 somedomainhere.com
如果您希望让它运行并稍后查看,您可以使用--report 开关并将其保存到文本文件中。
示例:mtr -c 500 somedomainhere.com --report >> mtrReport.txt
如果您没有管理权限,您可以询问网站托管提供商是否可以为您运行报告并提供报告数据。这是一个良好的起点尝试解决连接问题时。
使用此工具将有助于查明在哪里数据包被丢弃,谁应该为数据包丢失负责。如果您确定数据包在您的服务器上被丢弃,则可以开始下一步。
如果从您的服务器运行 mtr 到外部服务器没有出现数据包丢失,则数据包很可能在您的防火墙处被过滤。我建议从您的本地计算机到服务器运行另一个 mtr,以查看是否存在数据包丢失以及丢失的位置...如果它发生在最后一跳或根本没有发生,您就知道问题出在您的 Web 服务器上,您可以继续执行下一步...如果您在其他地方也出现数据包丢失,您可以相当肯定问题与网络有关。
下一步:
查看日志,
查看防火墙配置,
查看 Web 服务器的配置文件