(nginx)每个请求的Gzip与静态gzip

时间:2013-04-03 17:15:06

标签: nginx

如果使用标记--with-http_gzip_static_module配置并安装nginx,然后打开静态gzipping gzip_static on;

HttpGzipStaticModule

当nginx收到文件请求时,使用静态gzip会尝试读取并返回扩展名为“.gz”的同一文件。

我的问题是:这似乎是比用户执行请求时压缩文件更好的选择,因为文件已经被gzip压缩了,对吧?你赢得速度,你可以更快地提供文件。现在我已经gzipped字体文件,我发送给用户一个包含所有js(连接,缩小和gzip)的捆绑包和所有css的另一个捆绑包。我是否也应该预先录制图像?

2 个答案:

答案 0 :(得分:10)

是的,使用HttpGzipStaticModule更好(如果可能),原因有两个:

  1. 您不必为每个请求gzip,这意味着:
    • 服务器负载较小(因此使用的电量和服务器产生的热量较少)
    • 响应速度更快(由于服务器的工作量减少)
  2. 您可以使用更高的gzip级别(nginx默认使用gzip --fastest),这意味着:
    • 服务器使用的网络带宽减少
    • 再次响应更快(由于传输尺寸较小,因此传输速度稍快)
  3. 请注意,较小的负载和较小的带宽使用都会降低您的数据中心费用(尽管这对于繁忙的大型网站来说真的很明显)

答案 1 :(得分:5)

由于该部分问题没有得到解答:

不要gzip图像。 JPEG和PNG文件已经压缩,使用gzip重新压缩它们可能收效甚微,实际上可能导致文件大小更大。默认情况下,nginx不会使用每个请求的gzip模块压缩图像文件。

如果您想减小图片的大小,可能需要查看webp文件格式或pagespeed模块,以便为您处理优化图像。