我可以做些什么来降低带宽占用大的网站的带宽成本?

我可以做些什么来降低带宽占用大的网站的带宽成本?

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

我看过他的网站,他没有广告。我怀疑他收到账单后可能会关闭网站。无论如何,我想知道,既然他的 CPU/RAM 没有被使用,而且他的 HD 使用量约为 15gb,如果他继续使用这个网站,他可以做些什么来降低成本。我说贴广告,但我不知道广告是否能覆盖它。我发现一个 CDN 提供 0.070 美元/GB。10240gb (10TB) * .07 = 每月 717 美元。这似乎有点贵,但由于它是一个镜像站点,他使用了大量流量。

此外,使用 CDN 也没有意义,因为他不需要多个服务器在不同地区托管文件(这是他现在不使用它的原因之一)。他只需要一个大的上传管道

他能做些什么吗?目前,他每月支付 200 美元购买专用服务器,并且他使用的带宽远远超出了他应使用的带宽。

附带问题:压缩大型已压缩文件是否有帮助?例如(zip、rars 等)

答案1

在研究 CDN 之前,我会验证网站是否进行了正确的优化。首先要检查日志,看看哪些内容占用了最多的带宽。

您没有说明网站的性质,但如果大部分带宽来自下载 zip 和 rar 文件的人,那么您可能没有太多可以优化的地方。同样,在不知道性质的情况下,很难在这里提出任何建议,但可能值得考虑:

  • 这些文件真的有必要吗?例如,下载这些文件的人真的在寻找完整的文件吗?是否存在下载 zip 文件只是为了查看其中的一小部分内容的情况?
  • 有没有其他方法可以代替下载?浏览器中能否提供预览或查看器,从而免去下载文件的麻烦?
  • 您可以使用 bittorrent 来托管文件吗?您的服务器可以为其做种,但下载/做种的人越多,您需要处理的流量就越少。

至于优化实际网站:

  • 确保静态内容(图像、javascript、css)具有适当的缓存标头(确保浏览器不会不断地重新下载它们)
  • 同样的情况也发生在静态 HTML 上,如果内容没有变化,甚至动态 HTML 上也是如此。
  • 缩小你的 css、js 和 html。
  • 确保你的文件被适当分割(例如,不要直接在 HTML 文件中包含 css/js - 特别是当 HTML 是动态的时候)
  • 使用慢速验证以上所有内容,并指出更多优化

正如@databyte 所说,压缩已经压缩的内容(gzip)不会有帮助。

CDN 主要用于减轻静态内容的处理负担,并提高网站的性能。它们通过减轻负载并让您的服务器专注于提供动态内容(听起来负载对您来说不是问题)来实现这一点。它们还将服务器置于非常快的网络上,并将其定位在 ISP 上。这样做的原因是使速度尽可能快,延迟尽可能低。如果最终用户从 CDN 访问内容,并且内容直接从其 ISP POP 提供,那么这是最短的路径:它完全通过 POP 中的千兆网络,然后直接到达用户——没有任何内容通过实际的“互联网”传输。

答案2

压缩文件两次不会使文件变小(1)。下载文件的人可能不知道你也打算将其压缩两次 - 想象一下他们不得不解压两次的乐趣。

由于您正在镜像内容,因此我不建议将所有文件重新压缩为其他格式。但是,如果您有自己的内容,这是一个选择。获取所有内容,使用不同的格式进行压缩,然后选择最小的大小。不同的文件类型可能最终在不同的算法下表现更好,例如 zip 与 7z。

至于降低镜像内容的成本,降低 10TB 的成本已经很大了 - 就是这样。我怀疑使用合适的 CDN 将内容分发到不同位置的多个服务器上是否能省下 200 美元。

如果文件只有 15GB,但您只是经常传输它们 - 您可以构建自己的 CDN。在不同的平台上设置几个便宜的主机,rsync 文件,然后让一个网站选择最近的镜像。大多数共享主机为您提供足够的空间,可能可以处理 1TB /月,价格为 5-10 美元/月。

虽然这不是真正的“CDN”,但肯定比 700 美元便宜。


(1) 尝试将一个大文件压缩两次,结果应该只有 +/- 0-1% 的差异。我刚刚亲自对两个文件进行了尝试,其中一个文件比另一个文件小了约 300KB,而另一个文件为 165MB。

答案3

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

相关内容