5位技术专家分享他们的缓存秘诀

释放双眼,带上耳机,听听看~!

缓存可能是您网站发生过的最好的事情 – 或者是最糟糕的事情。这是因为它是否有效还有细节 – 而且有很多细节。无论是在数据库服务器,网站,代理服务器,应用程序还是浏览器中,我们都会询问您的最佳实践或有关如何有效缓存和修复缓存问题的重要提示。这是我们得到的最好的建议。

如果你有更多的缓存提示和技巧,请填写我们或使用#CachingFixes将它们发送给我们,我们将在以后的文章中包含它们。

使用工具

现在有许多出色的Web性能工具和资源可供使用。如果您刚入门,请查看Google的PageSpeed。还要考虑跳过服务器框架并将静态内容与静态站点生成器结合使用。通过将静态资产的长缓存与缓存破坏系统相结合,我们将网站上的后续加载时间减少了500%以上。

将静态文件移动到CDN

与任何多年来增长急剧增长的网站一样,我们也不得不应对指数级增长的服务器成本。然而,我们控制成本的方式是将所有静态文件移至CDN或内容交付网络。由于我们的大多数图像,CSS文件和脚本现在都由CDN提供服务,因此资源会保存在托管我们网站的实际Web服务器上。这意味着服务器更强大,并且能够承受更多并发连接。

但是将静态文件移动到CDN还有其他一些好处:速度。CDN通常在世界各地都有数据中心,通过检测访问者的位置,他们将从离他们最近的数据中心模式提供内容。这样可以提高下载速度,改善网站性能,让访问者更满意。

寻找瓶颈

对于使用优化和缓存的人来说,最好的建议是学习如何寻找瓶颈。缓存正确的东西使应用程序更快; 盲目缓存会导致问题。我发现最简单的方法是使用NewRelic并查看堆栈跟踪。查找慢速页面,查询,任何内容并找出导致它们的原因。然后弄清楚是否以及如何缓存这个瓶颈。

把你的缓存放在正确的位置

放置缓存的位置很重要。缓存 – 如使用DRAM或闪存来加速IO – 应该最接近使用它的应用程序。为了获得最佳性能,它将在服务器上进行配置,但之后无法在多个服务器之间轻松共享。每个服务器都可能需要自己的缓存,这可能会变得昂贵。由于分布式缓存同步和一致性挑战,传统的服务器端缓存通常只被用作读取缓存。

然而,今天,有更新的缓存解决方案要么将缓存放在服务器和存储之间的“网络”中,以便透明地共享昂贵的缓存资源,要么利用RDMA等技术在服务器群集之间虚拟池和同步服务器端缓存。这些类型的共享或分布式缓存解决方案还提供了显着的写入缓存优势,因为它们确保数据始终对所有用户都是一致的。

存储系统中的缓存也很重要,尤其是作为一种大幅提高存储阵列性价比的方法。例如,阵列端的少量闪存(可能为5%)可以提供出色的性能,并且可以提供比其他方式所需的更慢的磁盘。而这些较慢的磁盘既便宜又可以拥有更大的容量。整个“混合”阵列可以比装有高速旋转磁盘的阵列便宜,并提供更好的目标性能和更高的总容量。

有办法使按需缓存过期

无论您使用何种缓存机制,请确保您有一些方法可以根据需要使缓存过期(因此,如果您不小心推出了错误数据,则可以快速替换它)。过去,我们使用内容交付网络(CDN)服务来缓存我们在全球的软件下载。问题是他们需要长达24小时才能传播变化。这意味着如果我们的某个文件出现问题,我们所有用户都需要一天时间才能获得更改。

我们在这个领域发现了很多变化; 一些供应商需要24小时,大约6小时,大约一小时。我们花了很长时间才找到一个能够通过网络按需传播我们的变化的CDN提供商。我们最终将CDN提供商转换为按需推送更改的提供商(实际上是分钟,而不是数小时)。根据您的业务规模和范围,24小时可能是一个很好的价格权衡,但对我们来说,这是不值得的。

缓存可能是一项棘手的业务,往往需要一定的创造力和实验。当然,一点建议也不会伤害。你有更多的缓存技巧和窍门吗?填写我们的内容,我们会将它们包含在以后的文章中

人已赞赏
安全新闻

数据科学和机器学习在关键方面有所不同

2019-11-15 1:02:27

安全新闻

信息和数据之间的差异很快就会成为一种哲学论证

2019-11-15 1:02:40

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索