我能做些什么来降低带宽大的网站的带宽成本?

最简单的答案是CDN,但我想问一下。 我的一个朋友有一个用于镜像下载的服务器。 他说他每个月都在做大约10TB的带宽,让我感到震惊(我不知道他是不是在撒谎)。

我看到他的网站,他没有广告。 我怀疑他收到帐单后可能会closures他的网站。 无论如何,我想知道,因为他的CPU / RAM没有被使用,他的HD使用量是15GB左右,他可以做什么来降低成本,如果他继续这个网站。 我说过放广告,但是我不知道广告是否会覆盖广告,我发现一个CDN提供$ 0.070 / GB。 10240gb(10TB)* .07 =一个月717美元。 这似乎有点陡峭,但他正在使用大量的stream量,因为它是一个镜像站点。

同样使用CDN也没什么意义,因为他不需要多个托pipe不同区域的文件服务器(这是他现在没有使用的一个原因)。 他只需要一个大的上传pipe道

他有什么可以做的吗? 目前他正在一个专用的服务器上每月支付200美元,他正在使用WAY更多的带宽,然后他应该使用。

侧面的问题:gz-ing文件大的已压缩文件有帮助吗? 像(拉链,rars等)

在查看CDN之前,我会validation该网站是否已正确优化。 首先要检查你的日志,看看哪些内容使用最多的带宽。

您没有说明网站的性质,但是如果大部分带宽来自下载zip和rar文件的用户,那么您可以不做太多的优化。 再一次,在不知道自然的情况下,这里很难提出任何build议,但可能值得考虑:

  • 这些文件是否真的有必要? 例如,正在下载它们的人是否正在寻找完整的文件? 有没有情况下,他们正在下载zip文件只是为了查看一小块内容?
  • 有没有替代他们下载? 在浏览器中是否可以预览或查看器,无需下载文件?
  • 你可以使用Bittorrent来托pipe文件吗? 你的服务器可以播种它,但是下载/播种的人越多,你所要处理的stream量就越less。

至于优化实际网站:

  • 确保静态内容(图像,JavaScript,CSS)具有适当的caching头(确保浏览器不会不断地重新下载)
  • 静态HTML也是如此,如果内容没有改变,甚至是dynamic的HTML。
  • 缩小你的CSS,JS和HTML。
  • 确保你的文件被正确地分割(例如,不要直接在HTML文件中包含css / js,特别是如果HTML是dynamic的)
  • 使用YSlow来validation上述所有内容,并指出更多的优化

正如@databyte所说,压缩已压缩的东西(gzip)将无济于事。

CDN的devise主要是为了卸载静态内容的处理,并提高您的网站的性能。 他们通过减轻负载,让服务器专注于提供dynamic内容来完成这个工作(虽然听起来像加载不是问题)。 他们还把服务器放在非常快的networking上,并在ISP上find它们。 其原因是要尽可能快地使速度尽可能低。 如果最终用户从CDN访问内容,并且内容直接从他们的ISP POP提供,那么这是最短的path:它完全通过POP中的千兆位networking,然后直接传递给用户 – 没有任何事情可以跨越实际“互联网”。

压缩文件两次不会变小(1)。 下载文件的人可能不知道你的意思是压缩两次,想像他们不得不解压两次。

由于您正在镜像内容,因此我不build议将所有文件重新压缩为不同的格式。 但是,如果你有自己的内容,这是一个选项。 把所有东西都压缩成不同的格式,然后select最小的尺寸。 不同的文件types可能会在不同的algorithm下做得更好,比如zip vs 7z。

至于降低镜像内容的成本,推低10TB是一个很好的时期。 我怀疑你可以击败200美元,使用适当的CDN分布在不同地点的多台服务器上的内容。

如果这些文件只有15GB,但是你只是简单地传输它们 – 你可以build立自己的CDN。 在不同的平台上安装好几台廉价的主机,rsync这些文件,然后让一个网站select最接近的镜像。 大多数共享主机给你足够的空间,可能可以处理1TB /月@ $ 5-10 /月。

不是一个适当的“CDN”,但它肯定比700美元便宜。


(1)尝试一个大文件并压缩两次,它应该只改变+/- 0-1%。 我刚刚在两个文件上试了一下,其中一个是在一个165MB的文件上减小了大约300KB。

我将确保服务器支持范围 HTTP请求标头。 而且浏览器caching是由服务器允许的(参见: http : //www.mnot.net/cache_docs/#TIPS )。 对尚未压缩的内容使用gzip和/或deflate压缩(例如,文本文件,html,css)