⼤众点评信息流全链路优化
如果无法正常显示,请先停止浏览器的去广告插件。
1. 大众点评信息流全链路优化
2025-07-17
美团/点评事业部
2. 自我介绍
2016 年加入美团。
前期在酒旅的境外度假事业部担任客户端开发,19 年加入大众点评技术部。
在点评先后负责过异地、频道、首页和笔记等业务和网络库、图片库、播放器等移动端基建。
3. 目录
• 大众点评信息流介绍
• 信息流加载优化
• 图文详情页优化
• 商户详情页优化
• Q&A
4. 大众点评信息流介绍
信息流是一种内容分发机制,通过算法实时筛选、排序和推送用户可能感兴趣的信息(如图文、视频、广告等),形成“瀑布流”式浏
览体验。其核心特点是动态更新、个性化推荐、沉浸式浏览。
自 2018 年起,大众点评首页开始以双列信息流形式为用户推荐优质的 UGC 内容。
5. 大众点评信息流介绍
通过信息流可以依次进入图文详情页、视频页、商户详情页、话题页、个人页、地点页等众多核心页面,这些页面构成了大众点评
APP 内的 UGC 内容浏览核心路径。
……
6. 目录
• 大众点评信息流介绍
• 信息流加载优化
• 图文详情页优化
• 商户详情页优化
• Q&A
7. 信息流加载优化
冷启动场景下,信息流加载速度对吸引用户至关重要。
进程启动
应用初始化
首页创建
首页FMP 首页LVC
展示信息流缓存 二刷-达到视觉稳态
8. 信息流加载优化
大众点评信息流架构
信息流模块
首页框架
Native 卡片
Picasso 卡片
首页模块化框架
LX 埋点 Halo ABTest DPImageView
图片组件
MAPI 网络库 Shark 长链接 Pike 消息推送
Android
引导浮层
iOS
IFTTT Job
IFTTT 事件响应框架
Picasso 跨端动态化容器
APP 基建
运行环境
负反馈弹层
CIPStorage
缓存库 Jarvis 线程池
Cronet Horn 配置下发
Harmony
9. 信息流加载优化
信息流常规加载过程
推荐服务
服务
参数
拼接
召
回
粗
排
精
排
重
排
组
装
业务
数据
包装
CDN
业务后端
应用初始化
首页创建
信息流
模块初始化
信息流
缓存占位
信息流内部流程
信息流
接口请求
刷新、翻页
循环执行
信息流
数据解析
信息流
图片下载
信息流
视图渲染
信息流
加载完成
10. 信息流加载优化
1、通过调整 IO 任务的执
行时序提升并行度
推荐服务
服务
参数
拼接
召
回
粗
排
精
排
重
排
组
装
业务
数据
包装
CDN
业务后端
异步推送提前返回
TopN 图片 URL
提前发起
接口请求
信息流
接口请求
应用初始化
首页创建
CDN 域名
预连接
TopN
图片下载
匹配命中
正在进行中的请求
TopN 图片
命中缓存
信息流
模块初始化
信息流
缓存占位
信息流
接口请求
信息流
数据解析
信息流
图片下载
信息流
视图渲染
信息流
加载完成
11. 信息流加载优化
2、前后端合作优化网络端到端耗时
压缩方案优化-zstd 服务耗时优化 CDN 命中率优化
图片域名统一 图片格式优化-avif 客户端图片缓存分桶
12. 信息流加载优化
3、通过拆分、延后、重排、打散计算任务减轻主线程负担
关键措施举例:
任务拆分 任务延后/懒加载 重排/打散
首点定位优化 缓存读写后移 核心任务插队
缓存预热 全局服务懒加载 子线程优先级调整
图片预解码 非首屏视图懒加载 锚点任务编排调优
异步/并行化 次级启动项后移 次级启动项打散
13. 信息流加载优化
优化效果:
大众点评的实践证明,信息流加载速度越快,信息流用户的留存越高,同时也会提升 APP 留存与时长。
线上性能指标优化 线下性能测试优化 信息流点击UV增长 APP时长增长
28 % 20 % 2 % 1 %
14. 目录
• 大众点评信息流介绍
• 信息流加载优化
• 图文详情页优化
• 商户详情页优化
• Q&A
15. 图文详情页优化
跨技术栈
跨业务 多入口
图片尺寸差异 内容差异
兼顾首页性能
信息流点击
转场动画
图文详情页展示
16. 图文详情页优化
针对动态化容器的性能优化
转场优化
包大小优化
JS 预下载
容器预热
列表数据复用
数据预加载
图片复用
视频预热
17. 图文详情页优化
早期方案:首页信息流接口携带详情页首屏数据
简单易实现
跨页面易迁移复用
首页接口回包体积大幅增长,影响性能
后端业务耦合,迭代成本高
18. 图文详情页优化
迭代方案:首页信息流接口返回后异步推送详情页首屏数据
不影响首页接口与性能
服务端实现业务解耦,数据易扩展
异常问题排查成本高
后期增加了资源预热能力,可根据
协议预热图片与视频资源。
增加成功率监控与 debug 工具,
降低运维与故障排查成本。
19. 图文详情页优化
优化效果:
通过多种优化手段,图文详情页在各项性能与体验指标上都表现优异。
通过异步推送首屏数据的方案,实现服务端业务解耦,同时大幅降低了首页信息流接口的响应包体,对接口耗时亦有优化。
在图文详情页性能持续优化的过程中,信息流 PV_CTR、阅读量等核心业务指标均有优化。
主流程页面体验分排名
Top
1
页面秒开率 页面直出率 首页接口回包
96+ % 50+ % -32 %
20. 目录
• 大众点评信息流介绍
• 信息流加载优化
• 图文详情页优化
• 商户详情页优化
• Q&A
21. 商户详情页优化
能否复用图文详情页方案?
接口众多:商户详情页为模块化设计,首屏
数据分散在多个不同的接口中
入口复杂:除图文详情页外,商户详情页入口
还包括频道、搜索结果、榜单……
成本敏感:大多数接口无法承载前置页触发
预加载带来的 QPS 增量
滚动浏览
下挂商户卡片
商户详情浮层
22. 商户详情页优化
标准化接口预加载方案+事件驱动+低成本缓存+接口聚合
预加载SDK :低成本、无侵
入。接入方无需修改原始业务代
码,不必关注如何使用数据,仅
需关注预加载请求的触发时机。
业务后端
A-匹配失败
正常请求
预加载请求队列
Req1
上级页面
去重策略
淘汰策略
PreloadSDK
Req3
…
C-匹配命中
请求进行中
合并等待返回
预加载执行
生成索引
页面跳转
Req2
数据缓存
B-匹配命中
但数据失效
重新请求
常规请求队列
自动
匹配
前处理
D-匹配命中
数据有效
快速返回
Req1
Req2
业务请求
预加载命中
数据返回
业务页面
Req3
…
预加载未命中
数据返回
23. 商户详情页优化
流程控制:IFTTT 事件驱动框架
流程控制的最简化模型:
Event
Trigger
Action
埋点事件
Job Queue
应用生命周期
Job Group 2 (Picasso JS)
Job Group 1 (Picasso JS)
Event
页面生命周期
Job1
Job2
…
JobN
Job1
Job2
…
JobN
…
路由事件
Action
Do
Something
Action
Do
Something
自定义事件
Job结构
IFTTT 是一个轻量级的事件驱动框架
Trigger
Worker
依赖点评自研 Picasso 引擎实现动态化能力
用户可以定义一系列 Job
接收哪些事件(Event)
执行哪些操作(Action)
接收应用内的各种信号,并执行指定的命令
24. 商户详情页优化
组合效果:自由控制请求发起时机
零成本方案: 路由事件 发起请求
中低成本方案: 入口模块
曝光 发起请求
智能策略
判断 发起请求
上级页面
加载 发起请求
高成本、
效果最优方案:
25. 商户详情页优化
预加载请求处理
分布式KV
低成本高并发
BUFF:
实时请求处理
单向数据写入
业务API实现
预加载缓存
端云结合的低成本预加载方案
True
通过识别预加载请求头,实现预
加载请求流量与真实请求流量的
隔离。
False
Preload?
服务端
对比传统预加载方案,客户端业
务侧改造仅需增加对预加载缓存
数据的回调处理。服务端同样提
供低成本、标准化接入方案。
Preload=False
Preload=True
预加载数据
预渲染
页面跳转
实时渲染
客户端
入口页
落地页
26. 商户详情页优化
多接口数据聚合:BUFF + SSR Dump
核心思路:通过建设 Node 同构应用,在 Node 层生成商户详情页的首屏状态 Dump,使用 BUFF 实现 Dump 数
据的预加载,客户端加载页面时首先使用 Dump 数据构建首屏,实时接口返回后进行二次刷新。
27. 商户详情页优化
优化效果:
在未改动详情页原有的数十个接口的情况下改善了页面加载体验,显著优化了页面加载过程中的跳动问题。
显著改善了商户详情页秒开率与直出率,核心方案后续复用至推荐菜与评价等业务页面。
28. 目录
• 大众点评信息流介绍
• 信息流加载优化
• 图文详情页优化
• 商户详情页优化
• Q&A
29. Q&A
30. 招聘:移动端研发
邮箱:zhangxiaoyu14@meituan.com
更多技术干货
欢迎关注“美团技术团队”