美团点评移动网络优化实践

本文根据第16期美团点评技术沙龙“移动开发实践(上海站)”演讲内容整理而成。

第18期沙龙:高可用系统背后的基础架构(3月25日)火热来袭!快快点击报名吧。

网络优化对于App产品的用户体验至关重要,与公司的运营和营收息息相关。这里列举两个公开的数据:

页面加载超过3秒,57%的用户会离开。

Amazon页面加载延长1秒,一年就会减少16亿美金营收。

在做网络优化前,我们首先要为网络通信质量设立一个标尺。

在美团点评,监控团队开发了基于端到端的客户端监控平台。这里要先解释一下“端到端”的含义:是指请求从客户端发出到服务端响应返回的整个过程。它区别于后台服务监控,是一种从用户角度观察到的真实体验监控。

监控页面如图所示: 1


通过基于命令字的、多维度、实时的监控工具,可以及时发现线上问题。

为了方便发现问题,我们在公司内统一了网络响应状态码的范围。通过状态码的分段范围,也可以迅速清晰地看到网络成败的原因和占比。 2


有了监控工具后,我们来讨论:移动网络请求过程中,出现了哪些最常见的问题?

首先是网络不可用的问题。主要由以下几种原因导致:

  • GFW的拦截,原因你懂的。
  • DNS的劫持,端口的意外封禁等。
  • 偏远地区网络基础设施比较差。

其次是网络加载时间长。原因包括: * 移动设备出于省电的目的,发出网络请求前需要先预热通信芯片。 * 网络请求需要跨网络运营商,物理路径长。 * HTTP请求是基于Socket设计的,请求发起之前会经历三次握手,断开时又会进行四次挥手。

最后是HTTP协议的数据安全问题。原因有: * HTTP协议的数据容易被抓包。Post包体数据经过加密能够避免泄露,但协议中的URL和header部分还是会暴露给抓包软件。HTTPS也面临相似的问题。 * 运营商数据恶意篡改严重。如下图中,App的网页中就被运营商插入了广告。 3


面对上述网络问题,我们首先在HTTP短连请求中进行了一些优化尝试。

短连方案一、域名合并方案

随着开发规模逐渐扩大,各业务团队出于独立性和稳定性的考虑,纷纷申请了自己的三级域名。App中的API域名越来越多。如下所示: search.api.dianping.com ad.api.dianping.com tuangou.api.dianping.com waimai.api.dianping.com movie.api.dianping.com …

App中域名多了之后,将面临下面几个问题: * HTTP请求需要跟不同服务器建立连接。增加了网络的并发连接数量。 * 每条域名都需要经过DNS服务来解析服务器IP。

如果想将所有的三级域名都合并为一个域名,又会面临巨大的项目推进难题。因为不同业务团队当初正是出于独立性和稳定性的考虑才把域名进行拆分,现在再想把域名合并起来,势必会遭遇巨大的阻力。

所以我们面临的是:既要将域名合并,提升网络连接效率,又不能改造后端业务服务器。经过讨论,我们想到了一个折中的方案。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值