主机速度的影响因素

使用浏览器打开一个网站时,如果你的眼睛足够快,或者那个网站足够慢,在浏览器的状态栏你将能看到三个步骤: 它们是

  • 域名解析
  • 等待网站响应
  • 传输数据

通常,在一个典型的成功打开网页行为中,域名解析的时间是可以忽略的,等待时间大部分集中于后两步。而影响后两步的因素又有哪些呢?

这里我就不再描述TCP协议了,大家只需要大略清楚以下过程

  • 浏览器发送请求到服务器 [因素:线路]
  • 服务器找到网页(静态)或临时创造网页(动态) [因素:服务器负载]
  • 服务器把网页代码发回浏览器 [因素:线路]

所以实际上只有两个因素:线路和服务器负载。

线路方面测试起来很容易,ping过去就是了,数值越小越好。作为举例,这方面DreamHost有较大优势,因为机房在美国西海岸,离中国近。但DreamHost上的站是不是就一定快呢?绝非如此。由于大量的Oversell, DreamHost上的网站普遍响应时间都较长。而网贝所在的达拉斯机房,论ping值是稍高于DreamHost(250ms VS 200ms from Shanghai),但由于有极佳的服务器性能保证,所以访问起来反而快得多。

那么讲到最后,到底应该如何测试主机的速度呢?简单的ping显然是不够的,但除了亲自体验,我也想不出更好更方便的法子来。Linode可以选择4个不同地点的机房,同时也贴心地提供了四个机房的文件下载测速。而那些没有提供测速的主机,换做我就只好到twitter上吼一声,叫大家帮忙反馈一下访问体验。当然把twitter换成QQ或者论坛都是一样的。

Comments