为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

大众点评网监控系统剖析

2013-04-30 40页 pdf 2MB 40阅读

用户头像

is_773153

暂无简介

举报
大众点评网监控系统剖析 大众点评网 监控平台剖析 吴其敏 @QCon Hangzhou 2012 qimin.wu@dianping.com 12年10月29日星期⼀一 大众点评网 • 2003年4月成立于上海,是中国领先的本地生活消费平台 • 覆盖全国2300座城市,180万家商户,2200万条消费者点评 • 月活跃用户数5400+万,移动客户端独立用户数4500+万 • 500+台应用服务器,300+名技术人员 (数据截止2012年第三季度) 12年10月29日星期⼀一 • 介绍 • 报表 • 设计 • 未来 A...
大众点评网监控系统剖析
大众点评网 监控平台剖析 吴其敏 @QCon Hangzhou 2012 qimin.wu@dianping.com 12年10月29日星期⼀一 大众点评网 • 2003年4月成立于上海,是中国领先的本地生活消费平台 • 覆盖全国2300座城市,180万家商户,2200万条消费者点评 • 月活跃用户数5400+万,移动客户端独立用户数4500+万 • 500+台应用服务器,300+名技术人员 (数据截止2012年第三季度) 12年10月29日星期⼀一 • 介绍 • 报表 • 设计 • 未来 Agenda 12年10月29日星期⼀一 • MRTG, Cacti, Nagios, Ganglia, Zabbix, ... • Dapper(Google), Scribe(Facebook), Zipkin(Twitter), CAL(eBay), ... • CAT(Dianping) 监控系统 12年10月29日星期⼀一 12年10月29日星期⼀一 目标 • 故障诊断 • 跨越边界访问(Across Boundary Activity) • 跨网络:URL, HTTP, RPC, SQL, Message, Cache, ... • 跨角色:浏览器/网络/应用服务器, Nginx/Tomcat, Controller/Model/View, ... • 跨语言: Java call Scala, PHP call Java, ... • 跨所有权:公共组件, 规则引擎, ... • 状态记录(Status) • 系统状态:CPU, Memory, Thread, Disk, Network, GC, Load, ... • 业务状态:, 结果, ... • 业务统计 • 计数/计时:Page, Service, Cache, Database • 分布:浏览器, IP, 登陆状态, 缓存命中, ... • A/B 测试, 性能测试, ... • 系统优化:响应时间, 依赖耦合, 嵌套调用 • 容量规划:数据库, 应用服务器 12年10月29日星期⼀一 部署 12年10月29日星期⼀一 特性 • 实时处理,全量数据,侧重应用监控 • 轻量级,低开销 • 无中心化设计,支持水平扩展 • 通用API,支持各种业务 • 丰富的分析、统计报表 12年10月29日星期⼀一 目前 • 集成所有中间件产品 • 60+ 业务应用 • 400+ 应用服务器 • ~1TB 消息(每天) • ~200GB 存储(每天,压缩后) 12年10月29日星期⼀一 • 介绍 • 报表 • 设计 • 未来 Agenda 12年10月29日星期⼀一 消息 • 消息头 • 版本号,消息ID,所属业务,IP,所在线程,根消息ID • 消息体 Type & timestamp 1st Category 2nd Category Status Duration & Attributes t: Transaction Start E: Event T: Transaction End A: Atomic Transaction Transaction: 可嵌套 Event: 不可嵌套 Heartbeat: 不可嵌套 12年10月29日星期⼀一 消息 服务调用慢! 需要更多埋点! 12年10月29日星期⼀一 消息树 12年10月29日星期⼀一 Transaction报表 12年10月29日星期⼀一 Transaction报表 12年10月29日星期⼀一 Transaction报表 12年10月29日星期⼀一 Transaction报表 12年10月29日星期⼀一 Event报表 12年10月29日星期⼀一 Problem报表 12年10月29日星期⼀一 心跳报表 12年10月29日星期⼀一 更多报表 • Matrix 解读:URL(/scoreboard.bin)平均每次调用了65.7次服务和1.4次数据库访 问,服务调用平均耗时约2ms,数据库访问平均耗时8ms,服务调用平均 占用了整个URL处理时间的80.3%,数据库访问占6.3%。 建议:优化服务调用,减少服务调用的次数。 12年10月29日星期⼀一 更多报表 • Cross(客户端) 解读:在统计时间段内,调用了约202K次服务,其中调用了FeedServer业 务78K次,UserBaseService业务58K次等等。 12年10月29日星期⼀一 更多报表 • Cross(服务端) 解读:在统计时间段内,所有服务被调用了约53M次,其中13M次调用来 自于GroupService,11M次调用来自于ShopWeb等等。 12年10月29日星期⼀一 更多报表 • Cache 12年10月29日星期⼀一 • SQL 更多报表 Databases: 12年10月29日星期⼀一 更多报表 • Database 解读:此数据库有较高的SELECT请求,平均每秒1146次查询。 12年10月29日星期⼀一 • 介绍 • 报表 • 设计 • 未来 Agenda 12年10月29日星期⼀一 设计 • API • 实时分析 • 数据建模 • 存储 12年10月29日星期⼀一 API ① ② ② ③ ③ ④ ③ ④ ⑤ ① 创建Transaction ② 记录子Event ③ 记录子Transaction ④ 设置状态 ⑤ 结束Transaction 12年10月29日星期⼀一 实时处理 业务应用 业务应用 业务应用 监控消息 消费机 Receiver Receiver Receiver threads Analyzer Analyzer Analyzer threads HDFS File 消息转储 MySQL 统计报表 Queues 12年10月29日星期⼀一 数据建模 。。。 public interface IVisitor { public void visitTransactionReport(TransactionReport transactionReport); public void visitMachine(Machine machine); public void visitType(TransactionType type); public void visitName(TransactionName name); public void visitRange(Range range); public void visitDuration(Duration duration); } • 目标模型定义 • 访问, 转换和合并 • 模型持久化 • XML, JSON, Binary, ... • 代码生成 12年10月29日星期⼀一 存储需求 • 当前小时:读写;历史消息:只读 • 数量:几百万/小时 • 大小:1~100 KB/消息 • 消息ID:生成和使用可能不是同⼀一应用 • 随机读取:消息ID -> Logview • 顺序读取:Hadoop M/R, Hive -> HDFS • 压缩 • 归档 12年10月29日星期⼀一 存储设计 • 介质 • 内存:容量小, 成本高, 速度快, 顺序和随机读写 • 本地磁盘:容量有限, 成本低, 本地访问, 顺序和随机读写 • HDFS:容量大, 成本低, 冗余备份, 顺序读写随机读 • MySQL: 开销大, 成本高, 顺序和随机读写 • 存储 • 最近2小时 • 报表:内存 • 消息:本地磁盘 • 历史小时 • 报表:MySQL(历史日报表,周报表,月报表以小时报表为基础生成) • 消息:HDFS 12年10月29日星期⼀一 消息存储设计 顺序读:/2012/10/13/14/ShopService-*-* 随机读:/2012/10/13/14/*-ShopWeb-* 块地址 32 bits 块内偏移地址 16 bits 数据 /2012/10/13/14/ShopSerivce-ShopWeb-10.1.6.1 /2012/10/13/14/ShopService-ShopWeb-10.1.6.2 375030 => 2012-10-13 14:00:00 ShopService => 消息被记录的domain 10.1.6.1/2 => 消息被处理的机器IP 0a010680 => 10.1.6.128 用于保证消息ID唯⼀一性 消息ID:ShopWeb-0a010680-375030-2 GZIP压缩,压缩前大小<64K 索引 解压后 12年10月29日星期⼀一 • 先做小做精,再做大做全 • 持续集成,持续发布,不断监控 • 单机开发和调试 • Everything Fails • 关注客户,快速响应 12年10月29日星期⼀一 • 介绍 • 报表 • 设计 • 未来 Agenda 12年10月29日星期⼀一 未来 • 告警服务 • 数据服务 • 故障定位 • 支持Hive分析 • 前端监控 • 代码开源 12年10月29日星期⼀一 谢谢! 12年10月29日星期⼀一
/
本文档为【大众点评网监控系统剖析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索