我正在为一个广泛分布的网络部署一个CloudFront发行版。我使用自己的服务器作为源,并将缓存过期配置为自定义值(例如24小时)。对于产生高流量的国家所使用的边缘和更经常被请求的资源,一切都很顺利,但我认为,对于流量较低的国家提出的(大部分)请求,情况并非如此。
由于网络有数以万计的资源,并且由于业务的有机(长尾)特性,其中大多数资源每天仅被访问3至4次。在这种情况下,如果我的理解是正确的,那么第一个请求的性能很差(它是从原点获取的),而剩下的2-3个请求则受益于云前端。在这种情况下,大约30%的流量不使用任何CDN缓存。
是否有一种方法可以强制边缘自动刷新一组对象,而不管用户请求它们,以便使它们“准备好”?我知道这会对每月的账单产生影响,但是现在我把重点放在表演上,所以让我们假设这里的成本并不重要。
发布于 2014-12-05 21:52:28
如果我没看错的话,你想要预热缓存。目前还没有正式的方法来预暖缓存。
然而,您可以使用列表从http://blog.domenech.org/2013/10/amazon-web-services-cloudfront-edgelocation-codes.html预热.
对于d709c28ax59vf.cloudfront.net,它将是:
您可以编写一个脚本来预置这些域的Host: d709c28ax59vf.cloudfront.net头。
https://serverfault.com/questions/646435
复制相似问题