性能优化--网络优化

网络优化的维度:

        1 请求速度

        2 请求的稳定性

        3 减少流量

        4 网络安全

1 请求速度:

A DNS解析优化:

一次网络请求的操作是从 DNS 解析开始的,然后建立连接并发送数据到服务端,随后读取从服务端返回的数据,最后将连接释放,一次网络请求操作也就结束了。

IP 直连方式,跳过 DNS 解析流程

B 请求数据打包,通过zip()等将文字信息压缩打包上传

C 数据格式优化,使用json,Protobuf  格式

D 连接池的使用,三次握手跟四次挥手会消耗时间,保持长连接,减少这个握手与挥手的过程;socket连接池的复用,如okhttp 已经为我们实现了,同一个ip地址下会同用一个连接池。

2 请求的稳定性

A 请求失败的处理,对于网络原因导致请求失败,可以采用 1 请求参数本地存储,二次请求。

B  离线存储 , 将上次请求的数据缓存至本地,下次请求时优化加载缓存数据,等网络数据得到了再进行数据的刷新,适合一个新闻等应用场景。

C 弱网优化:

弱网的两大指标:丢包率,网络延时

弱网环境搭建:  Fiddler , QNET

使用QUIC 进行弱网优化:

QUIC是一种udp协议,由google发明,实现了TCP+TLS+HTTP/2,它还有一个更加响亮的名称: Http/3,Cronet库对其进行了支持,Android、iOS平台都可以使用。

3 减少流量 

A 减少请求次数, 跟服务端商量,合并一些请求,以减少请求

B 断点续传

C 数据压缩 ,Post请求Body使用GZIP压缩,请求头压缩,图片压缩上传

D 网络缓存:okhttp 可以设置缓存拦截器,一些展示类的app 数据更新慢,没有必要时时刷新数据,一定时间内可以从缓存数据拿。

4  网络安全

1 https 的使用

2 HttpDNS的使用,防DNS劫持,okhttp 提供了dns的接口,可以自定义Dns实现类,重写lookup方法。 目前业内主要由第三方厂商提供实现了 HttpDns 的 SDK,比较普及的是阿里云和腾讯云的 HttpDns Service,对于普通开发者而言,可以考虑使用七牛云提供的免费的 happy-dns。

传统的本地dns服务器采用的是udp 协议,而httpNds采用的是tcp,具有更强的稳定性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值