gpt4 book ai didi

caching - 有和没有 Varnish 的情况下没有加载时间差

转载 作者:行者123 更新时间:2023-12-03 17:46:33 25 4
gpt4 key购买 nike

我正在尝试使用 Varnish 缓存将静态文件缓存在服务器上。我将 Varnish 配置为缓存具有图像扩展名(.jpg,.png等)的文件。之后,我打开网站并使用浏览器开发人员工具对其进行调试,并检查网站上所有图像的加载时间,无论是否使用 Varnish ,加载时间都没有差异。响应 header 中的X-Cache条目中有一个“HIT”,因此图像在我的缓存中可用吗?知道我该怎么做吗?

附言我正在使用nginx作为后端服务器

最佳答案

Varnish 对静态文件没有真正的影响,尤其是当它们位于SSD上时。频繁访问非常频繁的站点可能是个异常(exception),特别是当数据存储在(慢速)HDD上时。在这里,您拥有大量的I/O,可以通过使用Varnish在ram中缓存图像来大大降低I/O。但是,在某些特殊情况下,缓存静态文件是有意义的。对于nginx来说,这也是一个非常快速的Web服务器,非常擅长交付静态文件。

Varnish的主要目的是由某些服务器端后端(例如PHP,ASP.NET)和其他为此任务设计的语言生成的HTML。与提供静态文件相比,生成动态内容非常耗时:后端帽子可用于例如当今在Web应用程序或解析模板中非常常见的数据库查询。 WordPress是一个广泛使用的CMS,也是一个很好的例子:一个请求上执行10k的php代码,具体取决于插件的数量100个数据库查询,也不异常(exception)。

因此,对于服务器来说,有很多事情要做-对于每个请求。对于您作为站点所有者,这具有以下效果:

  • 页面的加载时间增加,如果加载时间过长,则会导致问题:
  • 访问者不是很耐心,当他们认为页面不够快时会离开您的页面。一家每天赚取10万美元的网上商店,由于延迟1秒,每年可能会损失高达250万美元(请参阅https://blog.kissmetrics.com/loading-time/以获取更多信息)
  • 因此,Google使用加载时间作为您排名的指标并不奇怪(请参阅http://www.shoutmeloud.com/google-started-ranking-websites-based-on-load-time-and-speed.html)
  • 取决于访问者的数量,您可能会花更多的钱来购买更多或更强大的服务器

  • Varnish可以将后端生成的HTML存储在RAM或硬盘驱动器中。特别是对于SSD,后者是有意义的。根据您网站的结构和使用情况,Varnish至少会提高页面速度,并且还可能省钱,因为更少(功能强大)的服务器可以完成工作。

    当将Varnish用作动态生成的内容的前端时,您会注意到明显的不同。取决于应用程序甚至有很大的不同。我为基于vBulletin的论坛配置了 Varnish ,可以将页面加载时间缩短大约5倍。

    总结,您应该专注于缓存动态页面,而不是图像或客户端脚本之类的静态内容,因为在大多数情况下,Web服务器已经足以交付这些内容。当静态内容的速度确实很慢时,可以使用CDN来改善这一点。也许您的网络服务器配置不佳,无法获得最佳速度。例如,也许没有为图像定义生存期。这可能会对性能产生负面影响,尤其是对较大的性能。但是,如果没有关于您的应用程序和配置的更多信息,就不可能调查性能问题并给出具体的建议,以提高性能。

    关于caching - 有和没有 Varnish 的情况下没有加载时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30279912/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com