带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(1)https://developer.aliyun.com/article/1340954?groupCode=taobaotech
降低网络传输时间
虽然现有阶段大多数用户网络已经很不错了,但是还是有很多场景下,网络耗时占比还是非常高,尤其长尾数据中,网络耗时往往是最大的占比,所以网络耗时的优化依然是非常重要;当然端上的小伙伴在这个阶段可参与的空间也更多。
主要有哪些方式呢?
接口多段返回
通常一个接口承载了较多的内容的话,其内容就会无限的进行膨胀,如果将埋点,日志,反馈等非主线的数据进行多段返回的话将会有很大的收益,此方案主要结合接口组成进行分析;当然,此方案改动量也比较大,成本也比较高。
更换协议
大多数我们接口使用的是TCP协议,相比来说如果更换UDP协议,接口返回速度会快不少,详细原因可以翻一下资 料学习一下,这里不再多说。
目前也已经有成熟的方案,比如阿里的XQUIC,有感兴趣的可以了解一下,具体的收益我这里也还在测试中。
缩小网络包
为何缩小网络包会降低网络传输时间呢?
客户端和服务端网络通信时数据传输过程如下图所示:
数据包越大,则在光纤传输时所需的时间就会越久,因此接收方等待数据包的时间也会更长,最终会导致应用层等待数据时间变长。
还有,由于TCP采用的滑动窗口机制来提升传输性能,窗口的大小受接收端处理速率和网络拥塞情况影响,因此如果传输的包越小,则可以在尽量少的窗口周期完成数据的传输,减少响应的等待时间,反之,响应等待更长。
从上面几个方式来看,业务客户端能够做的一部分其实是缩小网络包的大小,那么我们下面介绍一下缩小网络包研究。
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(3)https://developer.aliyun.com/article/1340952?groupCode=taobaotech