带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(2)

简介: 带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(2)

带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(1)https://developer.aliyun.com/article/1340954?groupCode=taobaotech


降低网络传输时间


虽然现有阶段大多数用户网络已经很不错了,但是还是有很多场景下,网络耗时占比还是非常高,尤其长尾数据中,网络耗时往往是最大的占比,所以网络耗时的优化依然是非常重要;当然端上的小伙伴在这个阶段可参与的空间也更多。

 

主要有哪些方式呢?

 

image.png接口多段返回

通常一个接口承载了较多的内容的话,其内容就会无限的进行膨胀,如果将埋点,日志,反馈等非主线的数据进行多段返回的话将会有很大的收益,此方案主要结合接口组成进行分析;当然,此方案改动量也比较大,成本也比较高。

 

image.png更换协议

大多数我们接口使用的是TCP协议,相比来说如果更换UDP协议,接口返回速度会快不少,详细原因可以翻一下资  料学习一下,这里不再多说。

目前也已经有成熟的方案,比如阿里的XQUIC,有感兴趣的可以了解一下,具体的收益我这里也还在测试中。

 

image.png缩小网络包

为何缩小网络包会降低网络传输时间呢?

客户端和服务端网络通信时数据传输过程如下图所示:

 

 

image.png

 

 

 

数据包越大,则在光纤传输时所需的时间就会越久,因此接收方等待数据包的时间也会更长,最终会导致应用层等待数据时间变长。

 

还有,由于TCP采用的滑动窗口机制来提升传输性能,窗口的大小受接收端处理速率和网络拥塞情况影响,因此如果传输的包越小,则可以在尽量少的窗口周期完成数据的传输,减少响应的等待时间,反之,响应等待更长。

 

从上面几个方式来看,业务客户端能够做的一部分其实是缩小网络包的大小,那么我们下面介绍一下缩小网络包研究。

 

带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(3)https://developer.aliyun.com/article/1340952?groupCode=taobaotech

相关文章
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(4)
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(4)
104 0
|
Swift
带你读《2022技术人的百宝黑皮书》——响应式编程的复杂度和简化(5)
带你读《2022技术人的百宝黑皮书》——响应式编程的复杂度和简化(5)
|
缓存 API 开发工具
带你读《2022技术人的百宝黑皮书》——响应式编程的复杂度和简化(2)
带你读《2022技术人的百宝黑皮书》——响应式编程的复杂度和简化(3)
102 0
|
存储 算法 Android开发
带你读《2022技术人的百宝黑皮书》——内存优化: 纹理压缩技术(2)
带你读《2022技术人的百宝黑皮书》——内存优化: 纹理压缩技术(2)
264 0
带你读《2022技术人的百宝黑皮书》——内存优化: 纹理压缩技术(2)
|
SQL 缓存 JSON
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(1)
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(1)
158 1
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(5)
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(5)
108 1
|
算法
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(3)
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(3)
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(6)
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(6)
|
存储 Swift 开发者
带你读《2022技术人的百宝黑皮书》——响应式编程的复杂度和简化(4)
带你读《2022技术人的百宝黑皮书》——响应式编程的复杂度和简化(4)
|
监控 iOS开发
带你读《2022技术人的百宝黑皮书》——响应式编程的复杂度和简化(3)
带你读《2022技术人的百宝黑皮书》——响应式编程的复杂度和简化(3)