Apache mod_expires 用于提高服务器性能

Apache mod_expires 用于提高服务器性能

我一直使用 mod_expires 来设置图像等的缓存,以提高前端性能,即减少网站加载时间。

由于浏览器将转到其缓存而不是服务器,因此 HTTP 请求的数量将会减少。

从减少 Apache 服务器负载的角度来看,这是否会带来明显的性能提升?

答案1

是的,只要你设置了合理的过期时间,浏览器就不必每次都返回你的服务器来获取内容。现在有很多(并且随着 IPV4 地址的日益稀缺)缓存代理,数量也在不断增加——万维网上CDN(但显然不适用于 HTTPS)。

您的服务器不必每次都提供内容,这减少了它必须完成的工作量,从而可以提供更多资源来提供非缓存内容。

它将有一个大量的对客户端的影响。您应该能够使用诸如 firebug 之类的工具亲自查看这一点。

请注意,如果缓存过时并且您开始收到条件请求/ 304 响应(对于不是很大的内容项,使用 mod_headers 来触发 if-none-match 和 if-modified-since),它实际上会对性能产生不利影响。

答案2

很有可能,是的,但您应该进行尽职调查,并使用某种类型的负载测试工具(如 ab、seige 或 jmeter)进行前后比较。还要检查您的日志,看看请求减少了多少。

答案3

是也不是。

是的,因为直到达到您使用 mod_expires 设置的到期时间,图像才会被再次完全下载。

不会,因为该死的浏览器(一旦关闭,然后在同一页面上再次打开)无论如何都会向服务器查询每张图片,它可能会检查图片是否被修改。它不会下载图片,但它仍然会发出请求,要求服务器处理并做出响应。

查看更多:https://stackoverflow.com/questions/10048740/browser-keeps-inquiring-server-for-images-that-should-stay-cached-for-1-year

相关内容