如何降低Amazon Cloudfront成本?

问题描述 投票:5回答:3

我有一个网站最近几天的流量激增。我正在将Wordpress与W3 Total Cache插件一起使用,并使用Amazon Cloudfront从站点交付图像和文件。

问题是,Cloudfront的成本相当高,在过去一周中,成本接近500美元。有办法降低成本吗?也许正在使用其他CDN服务?

我是CDN的新手,所以我可能执行得不好。我已经创建了一个Cloudfront发行版,并在W3 Total Cache Plugin上对其进行了配置。但是,我没有使用S3,也不知道是否应该或如何使用。老实说,我不太确定Cloudfront和S3有什么区别。

有人可以在这里给我一些提示吗?

wordpress amazon-web-services amazon-s3 wordpress-plugin
3个回答
11
投票

我不太确定Cloudfront和S3之间有什么区别。

很简单。 S3是数据存储。它存储文件,并且具有超级可伸缩性(可以轻松地伸缩以一次为1000人提供服务。)问题在于它是集中式的(即从世界上的一个地方提供服务。)

CloudFront是CDN。它会在全世界缓存您的文件,以便可以更快地提供文件。如果斜视,似乎它们在“存储”您的文件,但是缓存可能随时丢失(或者如果它们启动了新节点),因此您仍然需要原始文件。

如果每个文件的匹配次数太少,CF可能实际上会伤害您。例如,在东京,CF可能有20个节点。在所有20个CF节点都缓存您的文件之前,该文件可能需要100个请求(请求是随机分布的)。在这100个记录中,其中20个将命中一个空的缓存,并在读取文件时看到额外的200毫秒延迟。通常,它们会长时间缓存您的文件。

我不使用S3,不知道是否应该

可能不是。如果您希望您的网站在媒体中大量增长,请考虑使用S3。 (即大量使用过的照片上传。)

是否有降低成本的方法?也许正在使用其他CDN服务?

这完全取决于您的网站。一些想法:

1)确保正在提供appropriate headers。并确保您的到期时间不太短(理想情况下应为几天或几周或几个月)。

“最佳实践”是永不使页面过期,除非索引页面应每X分钟,每隔几小时或几天或几天(取决于您要更新的速度而过期)。请确保每个页面/图像都说明可以保留多长时间。被缓存。

2)如上所述,CF仅在请求每个页面>每个高速缓存时间100次以上时才有用。如果您有数百万个页面,每个页面请求几次,则CF可能没有用。

3)来自亚洲的请求比来自美国的请求要昂贵得多。如果您在Toyko较受欢迎,可以考虑在Toyko中启动服务器。

4)查看您的Web服务器日志,查看CF请求您的每个资产的频率。如果超出您的预期,则表明您的缓存头设置错误。如果您设置“将其缓存数月”,则每天应该只会看到少量请求(因为它们会引导新服务器等),而发布新文件时则只会看到几百个请求(即,每个CF边缘节点一个请求) 。

根据您的设置,其他CDN可能更便宜。并且取决于您的服务器,其他设置可能会更便宜。 (即,如果您提供许多小文件,则最好在EC2上进行自己的缓存。)


3
投票

您可以试一下cloudflare。它不是完整的CDN,因此它可能不具有Cloudfront的所有功能,但是基本软件包是免费的,它将减轻服务器的大量流量。

https://www.cloudflare.com


0
投票

基于两个因素的Amazon Cloudfront成本

  1. 请求数
  2. 以GB传输的数据

解决方案>>

  1. 减少图像请求。为此,将小图像合并为一个图像并使用该图像https://www.w3schools.com/css/tryit.asp?filename=trycss_sprites_img(图像精灵)
  2. 不要将CDN用于视频文件,因为视频大小太大,这会导致CDN海岸过大
© www.soinside.com 2019 - 2024. All rights reserved.