gzip文件怎么打开(万能zip怎么打开)

80酷酷网    80kuku.com

gzip文件怎么打开(万能zip怎么打开)

本篇可以归纳在性能调优篇,虽然内容非常简单,但效果可能出乎预料的好;

分享一个真实案例,我们的服务部署在海外,国内访问时访问服务时,响应有点夸张;某些返回数据比较大的接口,耗时在 600ms+上,然而我们的服务 rt 却是在 20ms 以下,绝大部分的开销都花在了网络传输上

针对这样的场景,除了买云服务商的网络通道之外,另外一个直观的想法就是减少数据包的大小,直接在 nginx 层配置 gzip 压缩是一个方案,本文主要介绍下,SpringBoot 如何开启 gzip 压缩

SpringBoot系列教程Web篇之开启GZIP数据压缩

I. gizp 压缩配置

1. 配置

SpringBoot 默认是不开启 gzip 压缩的,需要我们手动开启,在配置文件中添加两行

server: compression: enabled: true mime-types: application/json,application/xml,text/html,text/plain,text/css,application/x-javascript

注意下上面配置中的mime-types,在 spring2.0+的版本中,默认值如下,所以一般我们不需要特意添加这个配置

// org.springframework.boot.web.server.Compression#mimeTypes/** * Comma-separated list of MIME types that should be compressed. */private String[] mimeTypes = new String[] { "text/html", "text/xml", "text/plain",		"text/css", "text/javascript", "application/javascript", "application/json",		"application/xml" };

2. 测试

写一个测试的 demo

@RestControllerpublic class HelloRest { @GetMapping("bigReq") public String bigReqList() { List<String> result = new ArrayList<>(2048); for (int i = 0; i < 2048; i++) { result.add(UUID.randomUUID().toString()); } return JSON.toJSONString(result); }}

SpringBoot系列教程Web篇之开启GZIP数据压缩

下面是开启压缩前后的数据报对比

SpringBoot系列教程Web篇之开启GZIP数据压缩

3. 说明

虽然加上了上面的配置,开启了 gzip 压缩,但是需要注意并不是说所有的接口都会使用 gzip 压缩,默认情况下,仅会压缩 2048 字节以上的内容

如果我们需要修改这个值,通过修改配置即可

server: compression: min-response-size: 1024

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: