首页 王怀志:有效监控系统,发现系统瓶颈关键点

王怀志:有效监控系统,发现系统瓶颈关键点

举报
开通vip

王怀志:有效监控系统,发现系统瓶颈关键点 有效监控系统,发现瓶颈关键点 Copyright © 2009 distributed-cluster.com All Rights Reserved 海纳互联网研究中心 版权所有 海纳互联网研究中心 王怀志 内容介绍 • 后台系统瓶颈监控介绍 • 后台系统瓶颈监控原则 • 后台系统瓶颈监控方法 • 海纳互联网基础平台的瓶颈监控案例 • 总结 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 后台系统瓶颈监控介绍 • 优化是长期的系统...

王怀志:有效监控系统,发现系统瓶颈关键点
有效监控系统,发现瓶颈关键点 Copyright © 2009 distributed-cluster.com All Rights Reserved 海纳互联网研究中心 版权所有 海纳互联网研究中心 王怀志 内容介绍 • 后台系统瓶颈监控介绍 • 后台系统瓶颈监控原则 • 后台系统瓶颈监控方法 • 海纳互联网基础平台的瓶颈监控案例 • 总结 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 后台系统瓶颈监控介绍 • 优化是长期的系统工程,不断的进行中 • 开发,运营,优化,开发……. • 影响系统优化的因素: 1. 业务的变化; 2. 流量的变化; 3. 平台的发展等等。 • 优化的结果: 1. 系统模块的调整/重构 2. 系统架构的调整/重构 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 现实情况: 系统优化的可 能性远远大于 增加设备的可 能性 运维监控 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 Internet 运维监控 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 Nagios等 运维监控 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 运维监控得到的信息: • 网络流量 • Cpu • 内存 • 磁盘IO • 平均负载 • 等等图 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 和数据 运维监控是为了了解系统的状 况,运维为主要目的的监控。 是建立在预知状态下的监控。 得出结论:系统负载太高 或者干脆得不出结论。 告诉研发人员有问题,但 不能告诉到底是什么问题。 研发人员知道有问题,但 不知道如何去解决问题。 最直接的办法是走读代码, 来判断瓶颈。 依赖与研发人员的技术经 验和工作态度(风险加 大)。 瓶颈监控 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 瓶颈监控 对运维监控的补充,专门 为了系统优化和瓶颈定位的监控。 监控好处 相对准确的定位问题,缩短 优化周期,降低研发风险,提高工作 效率。 监控特点 深入系统内部进行监控统 计,根据已知的问题来判断。 判断复杂事物的方法 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 1.不断的总结 2.不断的认识 3.不断的提高 寻原则,找方法,按照客观规律办事 不盲从,不跟风,以实事求是为出发点 瓶颈监控的 思想 教师资格思想品德鉴定表下载浅论红楼梦的主题思想员工思想动态调查问卷论语教育思想学生思想教育讲话稿 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 监控 监控1 监控2 ………………. N-1 N 原则 经验1 经验2 ……………….. N 优化 运营 瓶颈监控的思想 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 监控结果1 监控结果N……..监控结果2 原则1 发现问题 原则M…….. 设计开发高负载高并发系统 原则(一) Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 • 保证数据存储的连续性,而不 是跳跃性,尽量一次IO解决问 题 设计开发高负载高并发系统 原则(二) Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 • 保证线程锁尽可能少 写操作 读操作 不上锁 上锁 设计开发高负载高并发系统 原则(三) Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 • 尽可能异步代替同步 Int insert(unsigned char buffer,int type) { …….. …….. if (type == 1) return insertcachetable(buffer); ……… ……… } 设计开发高负载高并发系统 原则(四) Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 • 避免用户引发计算,所有的计 算结果尽可能提前生成 后台程序生成结果 直接调用 设计开发高负载高并发系统 原则(五) Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 • 靠算法优化,而不是加大内存 和增加cache解决负载问题。 加大内存不是你的事 算法才是你的事 算法不好,把数据全放内存也没用! 瓶颈监控基本方法 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 1.监控用户触发请求的成功率 2.监控随着数据量增长,单个请 求的响应时间 3.监控分布式系统的单点线程并 发数 4.监控分布式系统的点与点之间 的报文请求成功率 监控用户触发请求的成功率 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 最直接的进入系统的方式 统计全部有关后台调用的接口的成功率 interface server server server 能直接定位问题服务器 监控数据量增长单个请求时间 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 监控单个业务请求,随着数据量的增 长的请求时间的变化趋势 响应时间 数据量 异常 正常 无任何负载的情况下, 出现异常,说明程序 有无谓的计算量,能 直接定位程序的算法 问题。 监控分布式系统的单点线程并发数 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 线程1 线程2 线程3 …. 线程n 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 发现问题时的并发线程数量, 结合其他监控数据进行 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 如果线程并发 很高,而cpu 负载不高,说 明程序里面有 函数有等待延 时,能直接定 位对应函数。 监控点与点之间的报文请求成功率 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 Server1 Server2 Server3 server1到server2之间的请求成功率很低, server1的cpu负载很低,server2的cpu负载很高, 说明server2出现了计算量问题 server1到server2之间的请求成功率很高, server1的cpu负载很高,server2的cpu负载很低, 说明server1出现了计算量问题 能直接定位 服务器对应 函数 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 海纳互联网业务基础平台: 海纳互联网业务基础平台支撑公司本身 的十多种互联网业务产品,应对复杂的 高负载高并发业务环境,具有分布式架 构和瓶颈监控体系结构。 把系统瓶颈监控融入其中,不断的搜集 统计数据,为科学的优化,重构技术决 策提供依据。 历时数年,不断的优化,重构,不断的发展 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 登陆服务器 中间件 中间件 中间件 WEB服务器 数据库服务器 数据库服务器 数据库服务器 数据库服务器 网民 系统结构图 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 第一阶段:近1万人同时在线,用户体验性能良好,瓶颈监控正常 第二阶段:近10万人同时在线,用户体验性能较慢,瓶颈监控异常 异常现象: 1.用户普遍感觉登陆很慢; 2.用户数据条目增多,性能下降; 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 根据监测结果,大家分析原因,造成瓶颈问题的 可能是: 1. 登陆服务器问题:有可能是登录服务器的报文 请求的网络模块出现了延迟,发送模块没问题, 有可能是接收模块。 2. 中间件服务器问题:有可能是中间件造成的延 迟,因为中间件里有异步链表缓存,是不是链 表过长造成的问题? 3. 数据库问题:有可能是cache太小造成的。 4. 等等 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 第一个问题的分析 关于”用户普遍感觉登陆很慢“问题的分 析 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 建立原则库 1. 负载高了,进行分布式部署程序优化; 2. IO负载高,进行cache程序优化; 3. 负载很高,优化通信模块,甚至系统内核; 4. 计算负载高,进行CPU利用程序优化; 5. 等等 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 建立原则与监控的关系 IO负载高 Cache优化 服务器负载高 分布式优化 服务器负载高 通信程序优化 Cpu负载高 多核程序优化 …… …… 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 普通监控数据 监控对象 登陆服务器 中间件 数据库 cpu 10% 30% 85% 内存 80% 40% 50% io 5% 4% 30% 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 优化失败 按照上述的监控原则和监控内容的关系进行 了对应的优化,还是解决不了问题 以上监控数据仍难准确定位,所以开始添 加“监控原则”和“监控内容“ 通过查阅资料,总结研究,发现了新的”监 控原则“和”监控内容“ 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 监控原则:监控分布式系统的点与点 之间的报文请求成功率 监控内容:监测每个业务报文的响应 时间和变化趋势 具体方法:统计成功响应的业务报文 的响应时间 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 在线人数 登陆服务器 响应时间 监控登陆服务器 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 在线人数 中间件服务 器响应时间 监控中间件服务器 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 在线人数 数据库服务 器响应时间 监控数据库服务器 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 获取好友列表 登陆服务器 获取好友列表 30% 添加好友 10% 查询好友 5% 删除好友 5% 其他 50% 业务报文触发率统计 登陆很慢是好 友列表模块的 问题 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 瓶颈监控结论 根据各种监控数据统计结果和高负载系统 设计原则,确定是数据库的数据存储算法 问题。 定位为:数据库模块的”好友列表“的详细 设计造成的瓶颈问题 找出了瓶颈的关键点 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 原有的数据库设计:树形结构 自己id 好友id 信息 110 130 111 133 112 134 110 122 110 121 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 改进的数据库设计:根据自己的ID直接定位 存储块 好友id 信息 130 122 121 XXX XXX 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 监控对象 登陆服务器 中间件 数据库 cpu 10% 30% 35% 内存 80% 40% 20% io 5% 4% 20% 改良后的结果 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 验证了监控原则,添加原则库 IO负载高 Cache优化 服务器负载高 分布式优化 服务器负载高 通信程序优化 Cpu负载高 多核程序优化 服务器负载高 ……. 存储算法优化 ……. 根据此次优化, 将前述的五点基 本的高负载系统 设计原则全部添 加到了原则库。 使得原则库得到 了完善。 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 第二个问题的分析 关于”用户数据条目增多,性能下降“问题的分 析 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 根据”原则库“中的高负载系统设计原则制定瓶 颈监控方法 监控随着数据量的增长,业务报文请求的 响应时间变化率 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 运营时间 中间件服 务器请求 数据存储 服务器失 败率 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 数据量 对数据存 储服务器 的报文请 求时间 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 原有设计:分页功能采取了报文请求 再排序再计算分页 改进设计:所有的排序都是在添加 的时候完成的,90%以上请求都是 读请求,所以不能让读的时候再去 排序,再去分页 案例分析 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 数据量 对数据存 储服务器 的报文请 求时间 改良后的系统变化 总结 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 1. 瓶颈监控是对运维监控的补充和有目的的 细化 3. 瓶颈监控降低了研发风险,提供科学的 决策数据 2. 瓶颈监控是依赖自己公司的历史经验和特 定系统的设计原则 4. 建立公司自己的瓶颈监控系统,有助于 研发经验的积累 总结 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 瓶颈监控是一种思维方法 瓶颈监控是不断积累知识,不断完善知 识的过程 最后形成公司自有的独特的系统优化和 瓶颈定位的知识库 总结 Copyright © 2009 All Rights Reserved 海纳互联网研究中心 版权所有 建设自己的瓶颈监控系统 经验库 原则库 监控内容 为系统的不断优化提供有力的支撑 Q & A Copyright © 2009 distributed-cluster.com All Rights Reserved 海纳互联网研究中心 版权所有
本文档为【王怀志:有效监控系统,发现系统瓶颈关键点】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_688726
暂无简介~
格式:pdf
大小:16MB
软件:PDF阅读器
页数:49
分类:互联网
上传时间:2011-11-09
浏览量:9