你的网站需要多少流量?

| | 标签: | 发表评论

一个网站需要多少流量并不是一个太复杂的算术问题,然而当被询问:我的网站每天有多少个 IP 访问,日均有多少 PV,你们的云主机的流量够用吗?要回答这个问题却并不像看上去那么简单。

这主要因为:使用 Yculer 云主机的网站的大部分流量消耗在前端,而这部分流量是不计算在用户购买的流量中的。以一位用户为例,使用 Yculer 云主机记录的每月流量在 10GB 以下,而当他使用其他主机的第一个月,发现网站在不到 2 周的时间里竟然会产生超过 20 GB 的流量。

为了给您更直观的感受,这里以另一位日 PV 超过 10 万的用户为例(下图)。出于隐私保护,恕我们不能透露该用户网站的地址及相关个人信息。

site pv

在一个完整的自然月中,该网站被记录消耗的流量为 32.83 GB,平均日 PV 为 10.5 万,平均每个页面的大小约为 10.6 KB。

1 MB vs 10 KB

根据我们的观察和计算,使用 Yculer 云主机,当一个网站的日 PV 超过 10 万后,平均每一次页面访问被记录下的流量仅仅是 10 KB 左右,无论这个页面本来就只有10 KB 还是,大得多,举个例子,网站的首页(通常这是一个网站被访问次数最多的页面)载入了多达 7 个 js 文件,总页面的大小甚至接近 1 M,但平均被记录下来的流量仅仅 10 KB

如果说判断一个网站流量的主要指标是 PV (页面访问)数的话,那么同样 PV 的两个网站,它们实际消耗的流量是不同的,甚至可能有很大的差异。比如图片站由于要引用较大的图片文件,消耗的流量通常比同样 PV 的文字站要多得多。但如果您是这个图片站的站长,您可能会发现使用 Yculer 云主机会把这 2 者的差别缩小许多,在极端情况下甚至没有差别。

为什么 Yculer 云主机记录的流量只有那么一点?

Yculer 云主机采用了 Varnish 缓存,对于那些通过前端的 Varnish 缓存返还给网站访客的数据,我们是不计算在用户购买的流量中的。这些不被记录的流量大部分是网页载入的 css 、javascript、jpg 等静态文件,这些文件通常很少被修改而可以被缓存。这样做的优点是很明显的,尤其是对于那些日 PV 数以万计的繁忙站点,借助 Yculer 云主机的缓存,可以大大节省被记录的流量

缓存也是 Yculer 云主机区别于传统的反向代理的一个特征。传统的反向代理会产生相当于正常值 3 倍的流量(正常传输+代理取回+代理最终返还数据给终端用户),但是这并不是唯一的选择,我们倾向于使用缓存来减少频繁的数据交换。

cache-bandwidth

以上图为例,一个前端的缓存节点,从后端服务器得到的数据总量是 11.7 GB,但返回给网站用户的实际数据为 21.4 GB。当前端判断用户请求的数据有可以用的缓存时,它就不需要再向后端服务器请求,而是直接将已有的缓存返回给用户——当然这部分流量是免费提供,不计算在用户购买的流量中的。对于越繁忙的站点,缓存加速和节省流量的作用越明显。但如果网站类型包含大量无价值的页面则无效,类似我们禁止的采集垃圾站,虽然有流量,但绝大部分链接很少被多次访问,因此缓存的意义也不大。

我们曾经为一位用户在 Linode 配置了一台提供 web 服务的 vps,每月的正常流量消耗大概在 150 GB,由于 Linode 的线路不可能对所有用户都理想,我们设置了多个前端缓存节点,结果 Linode 的流量消耗下降到不到 15 GB。对于那些繁忙的站点,缓存的命中率可以轻松达到 90 %以上。

分类:未分类

发表评论