第 2 步:延长该缓存的 TTL
如果您拥有一个大型数据库(具体来说是 10,000+ 个 URL 范围),并且这些内容不会频繁更改,那么为了提高 Varnish 缓存层的命中率,您可以延长生存时间(TTL 基本上意味着将对象从缓存中清除之前的时间)。
对于 WSO,我们最多将缓 审计主任审计员电子邮件列表 存时间延长至两周(因为我们有超过 300,000 个讨论)。在任何给定时间,只有几千个论坛 URL 处于活动状态,因此大量缓存其他页面是有意义的。这样做的缺点是,当您对整个网站、模板或设计进行任何更改时,您必须等待两周才能使其在所有 URL 上生效。
步骤 3:预热缓存
为了保持缓存“温暖”,我们有一个特定的过程来访问站点地图中的所有 URL。当用户或 Google 机器人访问相同页面时,这会增加页面在缓存中的可能性(即我们的命中率提高)。它还使 Varnish 充满更多对象,随时可以快速访问。
从下图可以看出,“缓存命中率”(绿色)与总命中率(蓝色+绿色)的比例超过 93%。
在 WSO 上,我们使用 MySQL 数据库。确保启用慢查询报告并至少每季度检查一次。使用 EXPLAIN 检查最慢的查询。在需要的地方添加索引并重写可以优化的查询。
步骤 5:HTTP 标头
使用 HTTP2 服务器推送在请求资源之前将其发送到页面。只需确保先测试应该推送哪些资源即可。JavaScript 对我们来说是个不错的选择。您可以在此处阅读更多相关信息。
调整数据库并关注最慢的查询
-
- Posts: 158
- Joined: Sun Dec 22, 2024 8:25 am