带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(3)https://developer.aliyun.com/article/1340952?groupCode=taobaotech
精简数据报文
做一个实验
一个接口的分页接口数据包大小在1.5M左右,Server使用的是gzip(best模式)的压缩方式,我进行压缩后的大小为106KB左右。通常其他接口数据包大小压缩后普遍在10KB以下,所以可以看出分页接口横向对比来看,数据 包大小是非常严重的。这也是为什么会选择精简数据报文作为优化手段一大原因。
分析
精简数据报文需要根据业务的场景来看,我这里来举一个我这边实践的例子:
从数据包上分析,业务A的数据占比59.8%,而且该业务数据元素字段重复率非常高,来看一下去除该业务后的数据包大小:
原始数据 |
精简后 |
1472672 |
607587 |
降低率 |
59.8% |
从数据比对来看,不同的卡片有大约18处的不同,其占比: 占比 = 1 - (5350 / 17439) ≈ 0.693
那么,此时就有一个问题了,重复的数据,经过压缩后还会占包大小吗? 所以我就用服务端的压缩方式对数据做了个压缩:
原始数据 |
精简后 |
原始数据Gzip压缩 |
精简后Gzip压缩 |
1472672 |
607587 |
147892 |
78516 |
降低率 |
59.8% |
90% |
95% |
数据表明,针对重复字段的精简,压缩后依然是有效的。
压缩后降低率依然有46.9%。
拿到这个结果后,如何做呢?
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(5)https://developer.aliyun.com/article/1340950?groupCode=taobaotech