买 VPS 前先查机房位置和延迟:别只看地图上的点,要从受众那边测;测试 IP 加 looking glass;看最后一跳,不看中间跳;退款窗口内再测一次

本文译自 kikomono.com 英文原文《Check VPS location and latency before you buy》,作者 Rita。原文链接:https://kikomono.com/guides/check-vps-location-latency-before-buying/

别只看地图上的点就买 VPS。数据中心离得近、但路线走得差,速度可能比离得远、路线直的还慢,而销售页面永远不会给你看路线。付钱之前,先用测试 IP 和 looking glass 测准你要买的那个位置,把 ping 和 MTR 的结果读对,再从受众那一侧确认数字——不只从你自己的桌前确认。

简短回答

按这个顺序查四件事:访客实际最快能到达哪个位置、到那个位置的路线长什么样、数据包是不是完整到达、开通之后结果还站不站得住。位置是起点,路线是证据,只从你自己的电脑 ping 一次不算测试——测的是访客的网络路径。英文原文中的首台 VPS 指南讲的是更宽的购买决策;这一篇只讲那张清单上最容易被买家跳过的一项。

1. 从受众出发,而不是从你自己出发

第一个问题是谁的延迟重要。如果网站服务的是某一个地区的访客,服务器就该对他们快,哪怕对你自己慢一点。如果受众分散在各大洲,没有哪个单一位置对所有人都快,诚实的选择是让最大份额的访客都能接受的位置——或者不止一个位置,那是另一种架构、另一种预算。

由此得出两个结论。第一,要从受众那一侧测试:从你家里的连接 ping 出去,测的是你到服务器的路径,不是访客到服务器的路径。下面讲的 looking glass 测的是反方向。第二,要测你真正会买的那个位置。同一家服务商的不同数据中心表现不一样,某个城市测得好,对销售页面上的另一个城市什么都说明不了。

2. 付钱之前:拿到测试 IP 和 looking glass

许多服务商会按位置免费公开下面的一种或几种工具,用它们不需要账号:

  • 测试 IP。托管在候选数据中心里的一个地址,公开出来就是让你从自己的电脑 ping 它、追踪到它的路线。要用你真正会买的那个位置的测试 IP,不要用邻近位置的。
  • looking glass 页面。在服务商网络内部运行的一个网页。你输入自己的 IP 地址,或者受众所在地区的一个地址,它就从数据中心向那个目标跑 ping、traceroute 或 MTR。这是购买前唯一能看到的服务器到访客方向的视角。
  • 测试文件。通常是一个 100 MB 的文件,托管在那个位置,供你从浏览器粗测下载速度。它只测从该数据中心到你这条连接的下载速度,是延迟的补充,不是替代。

如果服务商一样都不公开,书面问客服要你要的那个位置的测试 IP 或 looking glass。拒绝本身就是信息:一家不让你在付钱前测网络的服务商,是在让你相信销售页面。这也是这项检查要和英文原文中的退款窗口指南放在一起的原因——如果买前测不了,退款窗口就成了你的测试期,下面的测试必须在窗口关闭之前、把正式网站指过去之前跑完。

3. 读 ping:平均值、波动和丢包

ping 测试要跑不止一次,有条件的话在一天的不同时间各跑一次。一次测得好说明不了什么;一条中午干净、晚上丢包的路线,晚上对访客同样会丢包。从你的电脑对测试 IP 测:

  • 平均延迟。往返时间,单位毫秒。粗略的量级感:同一大洲内一般是几十毫秒,跨越大洋则远超一百毫秒;一个远高于地理下限的数字,说明路线绕了远路,下一节的 traceroute 会告诉你绕在哪里。
  • 波动。稳定的 150 毫秒,胜过在 40 毫秒和 400 毫秒之间来回跳的连接。波动大时,哪怕平均值看着可以,SSH、远程桌面、语音这类交互用起来也会感觉不稳。
  • 丢包。探测包没能到达的比例。零丢包是正常状态。偶尔丢包会让交互会话卡顿,持续丢包就是放弃这个位置的理由,而不是指望付钱后会变好。

再从 looking glass 向你自己的地址做同样的测试,两边对照。两个方向可能不一样:一个方向干净的路线,另一个方向可能拥堵,而访客每次加载页面都要走两个方向。

4. 读 MTR:找出路线在哪里断

ping 告诉你出问题了。MTR——traceroute 加反复 ping,Linux 和 macOS 上叫 mtr,Windows 上叫 WinMTR——告诉你问题出在哪里。对测试 IP 跑 MTR,记住一条规则:只有最后一跳完全算数。

中间路由器经常会降低探测包的优先级,所以中间一跳可能显示吓人的丢包,实际转发正常流量却完全没问题。最后一跳干净,路线就是干净的,不管中间跳怎么说。真正要紧的是持续到最后一跳的延迟跳变,或者出现在最后一跳本身的丢包——这两者都指向路线的最后一段或目标网络,都是换一个位置的理由。还要留意一条去往附近目的地、却绕过另一个大洲的路线:这种绕路就是延迟数字远高于地理下限的常见解释,升级套餐修不好绕路。

5. 查吞吐量,但别把它和延迟混为一谈

延迟决定请求多快开始得到回应;吞吐量决定大文件开始传输后多快到手。测试文件下载只回答第二个问题。把结果和你自己连接的速度对照:如果下载速度接近你的线路速度,说明这条路径还有余量;如果你的连接本身没问题、下载却爬得很慢,说明路径拥堵或被限速。对一个以文字和图片为主的网站,延迟比原始吞吐量更重要,一次快速下载救不了一条丢包的路线——所以这项检查排在 ping 和 MTR 之后,而不是代替它们。英文原文中的带宽与流量指南讲的是与之相关的另一个陷阱:一个大方的速度数字配一个很小的月流量额度。

6. 开通之后、上线之前再测一次

购买前的测试测的是服务商的网络,不是你的服务器。服务器开通之后,对它的真实地址重复上面的检查,再加一项购买前工具给不了的测试:从受众所在地区的一条连接加载真实网站,或者用一台在该地区运行的测速工具测。如果正式结果和购买前结果矛盾,相信正式结果——如果退款窗口还开着,这种矛盾正是窗口存在的意义。

什么时候走开

出现下面任何一种情况,就放弃这个位置:最后一跳持续丢包、路线无缘无故绕过另一个大洲、服务商完全不给测网络的办法而退款窗口又短得没法测。接受一个位置的条件是:两个方向的最后一跳都干净、延迟符合地理距离、多次测试的波动很小。错误不在于选了一个不完美的位置——每个位置对某个人来说都是妥协——而在于花一年的钱之后,才知道自己买的是哪种妥协。

常见问题

离得最近的数据中心,延迟一定最低吗?

不一定。距离只决定下限,网络之间的实际路线才决定真实数字。一个走长绕路的近处位置,可能比路线直的远处位置还慢,所以这篇指南测的是路线,而不是相信地图上的点。

什么是 VPS looking glass?

looking glass 是服务商网络内部运行的一个公开网页,让你从数据中心向你提供的地址跑 ping、traceroute 和 MTR。它显示的是服务器到访客的方向,这是你在购买前从自己的电脑上看不到的。

为什么 MTR 在中间跳显示丢包,网站却还能用?

中间路由器经常会降低 ping 和 traceroute 发出的探测包的优先级,所以它们可能看起来丢包,实际转发正常流量却完全正常。只有最后一跳的数字算数;单看中间跳丢包,不能证明路线不好。

如果服务商不公开测试 IP,购买前还能测延迟吗?

书面问客服要你要的那个精确位置的测试 IP 或 looking glass 页面。如果两者都没有,短期的按小时套餐或退款窗口就是备用的测试期,前提是在窗口关闭之前、在把正式网站指过去之前跑完这篇指南里的检查。