提升Ngixn服务器性能(四)

  • 来源:
  • 更新日期:2018-05-18

摘要:启用 gzip 可以显著降低响应的(报文)大小,因此,客户端(网页)会显得更快些。 压缩级别 Gzip 有不同的压缩级别,1 到 9 级。递增这个级别将会减少文件的大小,但也会增加资源消耗。作为标准我们将这个数字(级别)保持在 3 – 5 级,就像上面说的那样,它将会得到较小的节省,同时也会得到更大的 CPU 使用率。

 Gzip

 
启用 gzip 可以显著降低响应的(报文)大小,因此,客户端(网页)会显得更快些。
002UASMrzy7605pjKJv15&690.jpg
 
压缩级别
 
Gzip 有不同的压缩级别,1 到 9 级。递增这个级别将会减少文件的大小,但也会增加资源消耗。作为标准我们将这个数字(级别)保持在 3 – 5 级,就像上面说的那样,它将会得到较小的节省,同时也会得到更大的 CPU 使用率。
 
这有个通过 gzip 的不同的压缩级别压缩文件的例子,0 代表未压缩文件。
 
gzip_http_version 1.1;
 
这条指令告诉 nginx 仅在 HTTP 1.1 以上的版本才能使用 gzip。我们在这里不涉及 HTTP 1.0,至于 HTTP 1.0 版本,它是不可能既使用 keep-alive 和 gzip 的。因此你必须做出决定:使用 HTTP 1.0 的客户端要么错过 gzip,要么错过 keep-alive。
 
配置
 
缓存
 
缓存是另一回事,它能提升用户的请求速度。
 
管理缓存可以仅由 2 个 header 控制:
 
缓存本身可以分为两类:公共缓存和私有缓存。公共缓存是被多个用户共同使用的。专用缓存专用于单个用户。我们可以很容易地区分,应该使用哪种缓存:
 
对于标准资源,我们想保存1个月:
 
上面的配置似乎足够了。然而,使用公共缓存时有一个注意事项。
 
让我们看看如果将我们的资源存储在公共缓存中,URI 将是唯一的标识符。在这种情况下,我们认为 gzip 是开启的。
 
有2个浏览器:
 
旧的浏览器给 CDN 发送了一个 netguru.co/style 请求。但是 CDN 也没有这个资源,它将会给我们的服务器发送请求,并且返回未经压缩的响应。CDN 在哈希里存储文件(为以后使用):
 
然后将其返回给客户端。