【问题标题】:Fastly purges pages for no reason无缘无故快速清除页面
【发布时间】:2021-10-31 12:38:43
【问题描述】:

我有一个使用 Fastly 作为 FPC 的网站,我已经阻止了所有来自代码的“清除”请求,以便在需要时保持页面缓存。 “过期”标题有 +1 天的间隔。 为了测试我已经设置了一个 cronjob 来每分钟打开一个特定的页面。它运行了 1 天,所有请求都返回了缓存的结果,但是当我以 30 分钟的间隔设置类似的 cronjob 时 - 请求变得不可缓存。 如果一段时间未请求缓存内容,是否有刷新/无效缓存内容的设置/机制?或者这种行为的原因是什么?

【问题讨论】:

    标签: caching varnish fastly


    【解决方案1】:

    缓存的内容有可能被驱逐。

    我建议通读 Fastly 开发者中心页面“Cache freshness and TTLs”,其中指出:

    重要提示:我们不一定会为请求的完整 TTL 存储对象,并且可能会提前驱逐不太受欢迎的对象,尤其是当它们很大时。我们也不会在对象达到 TTL 时自动驱逐它们。它们只是变得陈旧。

    此外,Fastly 的“Serving stale content”指南指出:

    Fastly 有一个 LRU 列表,因此不一定保证对象在其整个 TTL(生存时间)内都保留在缓存中。但是驱逐取决于许多因素,包括对象的请求频率、它的 TTL 以及提供它的 POP。例如,具有 3700 秒或更长 TTL 的对象被写入磁盘,而具有更短 TTL 的对象最终被临时存储在内存中。我们建议您尽可能将 TTL 设置为 3700 秒以上。

    还值得快速阅读 Fastly 的“Caching configuration best practices”指南,以防其中提到您尚未配置的任何内容。

    您也应该联系 support@fastly.com,因为他们是一个友好的团队,可以为您提供帮助。

    【讨论】:

    • 联系了 Fastly 支持 - 他们说的差不多,您实际上无法控制 TTL,因为 Fasly 可能会决定在内部清除您的页面。
    猜你喜欢
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 2021-09-07
    相关资源
    最近更新 更多