2011-10-21 149 views
2

我最近设置了一个利用Amazon Cloudfront分发非常大文件的新网站,但亚马逊目前向我的服务器提出如此多的请求,以至于我的整个网站都停滞不前。限制Amazon AWS Cloudfront

我要指出,我不使用S3,CloudFront的是直接连接到我的服务器。

我有一个100MB的数据连接,我试图分发文件是两个3GB的文件。但是,如果我在ssh中运行iftop,亚马逊IP地址似乎占用了每一行,可能试图将同一文件缓存到多个不同的服务器,并且它们似乎正在使用我的整个连接。

反正是有限制CloudFront的说10MB的或更小的连接?

回答

5

你确定你正确设置缓存头为您的文件? CloudFront尊重ExpiresCache-Control标题,您可以使用它来扩展和减少文件被认为有效的时间。将Cache-Control: public, max-age=86400添加到您的响应标题将导致边缘服务器缓存您的文件高达一天(86400秒)。

另一个要注意的是,边缘服务器具有有限的存储容量来缓存文件。鉴于保留半频率使用的10GB文件和频率较低的10KB文件之间的选择,亚马逊可能会选择删除10GB文件以便为更多客户提供服务。如果可能的话,考虑减小你的对象大小以避免被清除。

2

如果你只有2个大文件,这些文件不经常改变,为什么不把它们在S3中,使该桶的来源为CloudFront的分布?然后,您只需一次通过Internet连接传输文件,而不必担心与分发这些文件相关的任何基础结构。

+0

目前只有两个文件,因为它刚刚启动,但新文件将被添加所有的时间和额外的上传到网站,然后上传到S3,这是我想避免的。加上S3 – robjbrain

+0

的额外费用,但是也许您的ISP将为您的出口流量收取额外的费用,或者只是在达到限制时关闭您的网站。 S3的额外成本只是额外流量成本的一小部分。另外,如果我记得,从S3到云前沿的出口交通是免费的。每一种情况都不一样,需要做数学。 – JrBenito