139-8950-0275

绍兴云远网络热线
首页 >> 小程序 >>小程序专业知识 >> 网络调优新方法 请求速度一级fast-绍兴网络公司为你呈现
详细内容

网络调优新方法 请求速度一级fast-绍兴网络公司为你呈现

时间:2022-05-24     作者:绍兴网络公司【转载】   来自:微信派

小程序技术研发工程师 binnie 原创



binnie!查找网络错误好难受 明明知道有问题,但是找不到错在哪


用户当前的网络状态不好,能不能提醒他们?


微信官方有没有支持新协议,实现更快的请求速度呢?

别着急!码下这些网络调优好方法,小程序请求速度一级 fast


伴随着线上化趋势,小程序逐渐成为日常生活的数字连接器,为大家的数字化生活提供便利。在小程序的使用过程中,网络环境对于用户体验有着非常重要的影响。好的网络环境给予流畅的用户体验,赋能小程序业务。


针对网络环境的应用开发,微信团队提出 网络调优方法,提升网络请求速度,优化用户体验。

image.png


查一查:网络分析


想要解决网络问题?第一步离不开查明网络问题原因。微信团队提供 Profile 信息、Errno 错误码 2 种网络分析方法,助力开发者快速定位网络问题,解决网络请求难题。



Profile 信息了解耗时信息


基于网络性能分析的需求,微信团队提供 Profile 信息,便于开发者了解网络连接关键时间点的耗时信息。通过以下 2 种方式即可获取 Profile 信息:



request / download
WebSocket
方式
回调提供 Profile 信息
onOpen 回调提供 Profile 信息
请求链路
DNS -> Connect -> SSL -> request -> respone
DNS -> Connect



Errno 错误码快速定位网络问题
自 iOS 8.0.20 (基础库 2.24.0)、安卓 8.0.20 (基础库 2.23.0) 开始,request 接口支持 Errno 错误码,帮助开发者快速定位网络问题,更好地进行调试。

对比其他错误分析方法,Errno 错误码具有以下优势:


  • 更统一:拥有统一的设计规范,同时不同 API 错误码颗粒度统一,帮助开发者快速辨别错误类型
  • 更便捷:不同 API 出现相同错误,对应错误码一致,便于开发者便捷整理错误类型
  • 更全面:包含 API 类别信息,帮助开发者快速定位问题


Errno 错误码统一简洁的格式助力开发者快速定位网络问题,如何识别错误码?以 (0)600002 错误码为例:


  • (0)6 表示 API 接口的一级类目为【网络】
  • 00 表示 API 接口的二级类目为【通用网络错误】
  • 002 表示具体错误类型为【URL域名不在安全域名列表中】






用一用:能力支持


了解网络错误原因,开发者着手解决网络问题。微信团队提供 request 新参数、perMessageDeflate 压缩扩展 2 种方法,助力网络请求速度提升。




应用新参数,场景化加速网络水平

针对网络请求相关的新协议,微信团队现已提供 5 类新参数,加速网络水平:

  • enableHttp2:如果后台支持,尝试使用 Http2 协议,适用于高并发、高带宽场景
  • enableQuic:如果后台支持,尝试使用 Quic 协议,适用于低延迟、高吞吐场景
  • enableCache:缓存内容,相同请求优先读取本地内容
  • enableHttpDNS:开启 HttpDNS 服务,降低用户连接失败率
  • enableChunked:开启 transfer-encoding chunked 服务,支持分块传输


启动压缩扩展,提升信息收发速度
当 WebSocket 启动 perMessageDeflate 压缩扩展后,收发信息过程自动压缩数据包,提升消息收发速度



拍一拍:网络状态提醒


除了通过分析和解决网络难题,小程序开发者可以通过提醒的方式告知用户当前的网络状态,及时切换网络,提升小程序的使用体验。



前后台切换

在小程序切换后台 5 秒后,自动中断网络请求并且收到 interrupted 回调。建议开发者提醒用户重试,避免造成不良体验。


网络状态变化

小程序网络问题常常出现在断网情况,因此开发者可以通过事件 wx.onNetworkStatusChange 通知网络状态变化,引导用户进行网络切换。

弱网状态变化

大部分的网络超时问题主要由弱网引起。弱网主要是基于以下现象判定:

  • 8 次网络请求中,出现 3 次以上连接超时

  • 8 次网络请求中,出现 3 次 rtt 超过 400

  • 8 次网络请求中,出现 3 次以上丢包


一方面开发者可以通过 缓存管理器 优化弱网时小程序的使用体验,另一方面开发者可以通过事件 wx.onNetworkWeakChange 监听弱网变化,给予用户更好的提示。

网络环境对于小程序的体验有着非常重要的影响。通过原因分析了解网络问题的根因,通过使用协议扩展能力提高网络水平,通过网络状态提醒提升用户体验,最终提升请求速度,满足用户需求。关于网络调优的更多内容,请点击 官方文档 了解更多。



如有其他小程序应用相关的问题,可在 微信开放社区小程序交流专区 发帖互动,技术专员将为大家解答及进行深度交流。



微信开发者
,赞8


技术支持: 杭州云远科技有限公司 | 管理登录
seo seo