带你读《2022技术人的百宝黑皮书》——移动域全链路可观测架构和关键技术(10)

简介: 带你读《2022技术人的百宝黑皮书》——移动域全链路可观测架构和关键技术(10)

带你读《2022技术人的百宝黑皮书》——移动域全链路可观测架构和关键技术(9)https://developer.aliyun.com/article/1340960?groupCode=taobaotech


请求精简提速-极简调用实践

以MTOP请求作为一个场景,链路主要涉及「MTOP到网络库」的交互,通过对全链路线程模型现状分析,从MTOP发起到网络层接收到会几点会导致请求慢:

 

image.png数据拷贝多:现有网络层机制,网络库存在hook拦截处理,基于NSURLConnection + "URL Loading System" 转发到网络库进行网络传输,涉及多次数据拷贝,中转拦截处理非常耗时。

image.png线程切换多:线程模型过于复杂,完成一次请求频繁切换线程。

image.png异步转同步:原有请求使用一个队列 NSOperationQueue  来处理任务,底层维护的这个队列把请求和响应绑在一起,使得发送之后要等待响应结果回来才会释放,"HTTP Operation" 占住完整的一个HTTP收发过程的全部IO,违背了网络请求的并行性,operation queue容易打满阻塞。

 

 

 

以上几点问题,在大批量请求、系统资源竞争激烈场景下下(冷启动,几十个请求一拥而上),更为明显。

 

image.png

 

(图21 线程模型优化前后-极简调用)

 

改造方案,通过MTOP直接调用网络库接口来获得较大性能体验提升

 

 

image.pngimage.png简化线程模型: 跳过系统URL Loading System hook机制,完成收发数据线程切换,减少线程切换。避免弱网阻塞:数据包Sending 与 Receiving 拆分处理,空口长RT不影响 I/O 并发容量;

image.png汰换废弃API:升级老旧NSURLConnection 到直接调用 网络库API。

 

 

数据效果:可以看到,在系统资源更为紧张环境下,如低端机上优化幅度更为明显。

image.png

(图22 极简调用AB优化幅度)

 

弱网策略优化-Android网络多通道实践

WIFI信号差、弱网环境下,有时候多次重试对成功率提升效果并不明显。系统提供了一种能力,允许设备在WIFI环境下将请求切换蜂窝网卡的能力。网络应用层可以利用该技术,减少请求的超时等一类错误,提升请求的成功率。

 

 

 

在Android 21之后,系统提供了新的获取网络对象的方式,即使设备当前具有通过以太网的数据连接,应用程序也可以使用此方法来获取连接的蜂窝网络。所以,当用户设备同时存在WIFI和蜂窝网络的情况下,可以在特定策略下将不同请求同时调度到以太网和蜂窝网两个网卡通道上,实现网络加速。

 

带你读《2022技术人的百宝黑皮书》——移动域全链路可观测架构和关键技术(11)https://developer.aliyun.com/article/1340958?groupCode=taobaotech

相关文章
|
1月前
|
存储 缓存 安全
某鱼电商接口架构深度剖析:从稳定性到高性能的技术密码
某鱼电商接口架构揭秘:分层解耦、安全加固、性能优化三维设计,实现200ms内响应、故障率低于0.1%。详解三层架构、多引擎存储、异步发布、WebSocket通信与全链路防护,助力开发者突破电商接口“三难”困境。
|
1月前
|
人工智能 自然语言处理 安全
AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教系统融合大语言模型、教育知识图谱、多模态交互与智能体架构,实现精准学情诊断、个性化辅导与主动教学。支持图文语音输入,本地化部署保障隐私,重构“教、学、评、辅”全链路,推动因材施教落地,助力教育数字化转型。(238字)
|
2月前
|
数据采集 监控 JavaScript
移动端性能监控探索:鸿蒙 NEXT 探针架构与技术实现
阿里云 ARMS 团队倾力打造的鸿蒙 NEXT SDK,为鸿蒙应用提供了业界领先的全链路监控解决方案。这不仅仅是一个 SDK,更是您洞察用户体验、优化应用性能的智能伙伴。
556 28
|
1月前
|
监控 数据可视化 数据库
低代码的系统化演进:从工具逻辑到平台架构的技术解读
低代码正从开发工具演变为支撑企业架构的智能平台,融合可视化开发、AI引擎与开放生态,实现高效构建、自动化运维与跨场景协同,推动数字化转型迈向智能化、系统化新阶段。
|
1月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
328 3
|
2月前
|
Cloud Native API 开发者
Gemini 2.5 Flash 技术拆解:从 MoE 架构到阿里云生态落地指南
2025年9月,谷歌Gemini 2.5 Flash发布,性能提升5%、成本降24%,引发行业关注。其MoE架构、百万上下文与“思考”范式,助力阿里云开发者高效构建云原生应用。本文解析技术内核,结合汽车、物流等案例,提供落地指南与避坑建议,展望大模型与流计算融合前景。
387 6
|
1月前
|
存储 人工智能 搜索推荐
拔俗AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教融合大语言模型、教育知识图谱、多模态感知与智能体技术,重构“教、学、评、辅”全链路。通过微调LLM、精准诊断错因、多模态交互与自主任务规划,实现个性化教学。轻量化部署与隐私保护设计保障落地安全,未来将向情感感知与教育深度协同演进。(238字)
|
2月前
|
JSON 供应链 监控
1688商品详情API技术深度解析:从接口架构到数据融合实战
1688商品详情API(item_get接口)可通过商品ID获取标题、价格、库存、SKU等核心数据,适用于价格监控、供应链管理等场景。支持JSON格式返回,需企业认证。Python示例展示如何调用接口获取商品信息。
|
2月前
|
数据可视化 前端开发 数据管理
什么是低代码?一文看懂:低代码技术的发展历程及技术架构
低代码开发平台通过可视化界面与组件化设计,大幅降低编程门槛,使开发者无需大量编码即可快速构建应用。它具备可视化开发、预制组件、低技术门槛及全流程支持等核心特征,适用于业务流程自动化、数据管理、客户关系管理等多种场景。自萌芽期至今,低代码不断演进,成为企业数字化转型的重要工具,显著提升开发效率、降低成本,并推动全民开发者时代的到来。
716 0
什么是低代码?一文看懂:低代码技术的发展历程及技术架构

热门文章

最新文章