您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 智能运维架构
  所属分类: 平台管理
  开发工具:
  文件大小: 932kb
  下载次数: 0
  上传时间: 2019-06-29
  提 供 者: longlo*******
 详细说明:本文介绍了由运维痛点催生智能运维平台的需求背景,以及智能运维平台的层次结构,组成元素,还有主备切换,锁等待分析等关键技术的诊断原理,实践经验。智能运维平台整合了我们 DBA 多年的运营经验和 AI、机器学习等技术,能够覆盖更多的异常场景,做到将大部分异常在发生前就预测到,为客户提供更安心的运营环境。2.1系统分层结构 展示层 健康报表 /性能/化建议 分析层圭备切换 主备延迟 QL优化 哪事务信息 素索引层(元数 等待 慢询 空聋源 会话 存储层 控库 ELK 栗集层 DB状态 DB系烷信息 系统资源 资源层 D实 ⊥D实例 实例在 宿主机 下图展示了扁鹊更细化的结构,可以看到扁鹊具备」哪些功能,这些功能需要哪些元数据,元数据又 从哪些层面获取,各模块之间如何交互等,如果大家要做类似的功能可以基于这个做一个很好的参考。 2.2功能分解 目上巴目 三、智能诊断原理与实践 我们将客户经常咨询的DB问题大体分为三类,可用性问题、性能问题、可靠性问题 下面我们具体看一下扁鹊是怎样针对这三类问题进行分析并解决的。搜索关注腾讯云数据库官方微信, 获取更多数据库技术干货分享,体验移动端一键管理数据库 1.可用性问题 可用性问题主要是指DB在一段时间内无法响应用户的请求 TDSQL作为金融级数据库本身是做了高可用的,当主机出现异常无法继续提供服务时会自动选则新 主切换。这里我们探测主是否存活的方法是利用^ agent模块定期的连接DB并向 TDSQL自建 的一个心跳表中写入数据,这样无论是磁盘坏块,磁盘满了还是DB重启导致DB不可用, agent都 能准确的判断出来,当 agent连续一段时间写入心跳失败或超时就会触发切换的逻辑,在这期间DB 会处于短暂的秒级不可用状态,从用户侧可能会收到DB只读,连接断开等异常。对于这种情况, 业务往往需要清楚地知道切换的原因是什么,如何避免切换再次发生。 311主备切换的诊断 仲裁 L程拟户空连 2数据库过行读写作 心跪 3将结果上报别 主 探测 心 DB实例 心影 主备同步 主同步 Agent 备 gent 探测 探测 DB实例 D例 引起切换的原因有很多,这里我们列举了一些常见因素,如触发了内核某个bug导致DB重启 hung住,磁盘故障导致DB无法写入。也有可能是由于用户的一些SQL过度的占用一些CPU、IO 等资源导致的,如大事务,慢査询并发影响到用户或心跳线程写入等等 3.12触发主备切换常见因素 DB意外重启 内核BUG引起系统hang住等 磁盘故障,文件系统故障等 资源竞争引起DB异常 1O耗尽 innodb并发线程耗尽 a binlog写入竟争 要分析岀切换问题的原因,我们首先要做的就是保留必要的现场信息,为我们后续的诊断提供线索 这里我们实现了针对top, ioop, iostat等宿主机资源状态信息的秒级采集以及切换前DB内部 processlist, innodbstatus等快照信息。我们上面列举的异常原因基本都可以在这些信息中反映出来 下面我们详细的解释一下如何利用这些信息分析切换原因,扁鹊针对这个问题的分析又达到了怎样的 效果。 313解决方案 采集DB的启动时间,监控DB是否重启 ●每分钟采集 show processlist信息 每秒采集宿主机各种状态信息 切换前,保存系统状态信息 erwEn一x产x2 Foot rhaL4BAr288 ee dstat1eg 5184 innodb status_ 20190428 198 drwxr-xr-x 2 root root 4.eK Apr 28 ea: ee iostatlog 5188 threadpool_28198428. og trex产“X2 mat re4,Apr2888⊥etpg 5168ma比k_26194428.1。g drwxr-xr-x 2 root root 4.ex Apr 28 ea: ee reminfo 5100 innodb trx_ 20190428 log drwxr-xr-x 2 nat root 4, ek Apr 28 00:01 toplog 5100 innodb lock waits 2019842810g drier-xr-x2。rt4. eK Apr28:日1mta s1a8 innodb locks 201s8428log 519n6pr126190428,12 5108 lock analysis_ 20198428log 51 ae syscon28196428.1g 从我们自身的运维经验来看,出DB故障导致的切换并不常见,更多的情况是由于用户的sQL占用 过多的系统资源引发的一些异常状况,主要可以分为慢查询并发和大事务两类,下面我们逐个分析两 种行为触发切换的原因 由慢查询并发引起的主备切换 TDSQL默认采用 innodb存储引擎,在 innodb中为了避免同时在 innodb中同时运行的线程过多 带来额外的性能开销, innodb提供了一个 innodb_concurrency的参数,用于限制同时在 innodb中 执行的线程数的最大值。搜索关注腾讯云数据库官方微信,获取更多数据库技术干货分亨,体验移动 端一键管理数据库。如果客户执行了用大量的并发连接执行慢查询,这些慢查询会不断地占用 innodb 的活跃线程,导致用户很多访问inob相关的操作简单插入}更新等操作也容易被阻塞,等待 innodb处理,冋样也会引起 agent心跳检测不断失败,从而触发主备切换。 当这种情况发生时,我们可以看到 innodb status信息中有大量的线程处于等待队列,并且有很多慢 査询在 processlist中执行和很长时间,这样我们就可以分析事先保存的 innodb status信息确认这 现象,再结合 processlist中找出ToP慢SQL就可以知道是哪些慢查询并发导致了这个问题。 31.4主备切换:高并发 ● innodb状态日志看到活跃线程有64个(配置值就是64) a Session状态看到大量查询处于执行或者等待状态 卖0 CPERATIE 64ueries inside Innops( S3ueries in queue 64 read views open inside InnoDB 3 R transactions csiye inside InnoDE 18s gwr1695:57tC1咒 t. fF9 (a) Wery 462 sanding to cliMat ((2)2187212 1895545 1 th Sensing to c1n电 工己t·f产 55 er163 SandRA E14和n (224751 Query 107 sns:ng to cl iane deet fre 动e ((1))1470》H 5可 大事务引发的主备切换原因 TDSQL为了保证主备数据的一致性默认采用row格式的 binlog,如果用户执行了一个 delete大表 的操作就可能产生一个非常大的 binlog写入,由于 binlog是顺序写入的,大事务的 binlog没有完 成写盘之前,后面一些小的写入操作如 TDSQL心跳写入也会被阻隼在写入 binlog的阶段等待大事 务 binlog写入完成,这个等待吋间过程会导致心跳写入频繁岀现超吋。从而触发切换的逻辑,这种 情况下我们会观察到 innodb status中有大量事务已经完成的在 innodb层的 prepared,等待写入 binlog,并且在 processlist中有大量的心跳写入被阻塞。 目前针对这种情况 TDSQL己经做了优化,比如默认限制 binlog一次写入的大小不超过1.5G禁止 大事务的产生 3.5主备切换:大 binlog事务 心跳探测线程被阻塞 ●大量事务已经完成了 prepared,等待写入 binlog 广品n:的t1碱xP却 Bacoti ML如wy1门 回xmaH7h7),p',的 时 ti tt wits rents int影,的的】H1米的si超5)1p” breFpd-te+22 出m操共时计中品出界!: uTRANSACU-ON 215851534, ACTIE IPREPARED)1 B4 61c4 StRuct),Hp136,3conl。eka, unda fet世r王 构QhP且8435,0比稳hn11417932632,ury且190316997 cetA A。255》,A【 FRARED)1 y1 tables an u毒1,10ke1 2144kB,h目1236,1《)418垂图1 thread d13.9 cheng handle114是1的//id931h里ary·n rp《nt。5y,3tua1 fErr see t:e7作备27:t重rnx(主777》p 扁鹊的自动化分析效果 结合上述分析流程,扁鹊会自动化的针对监控,切换前的DB快照等信息分析出切换的原因,并展 示详细的分析过程。 1).下图展小了扁鹊分析出由于DB发生不存活引发了主备切换 316扁鹊自动化诊断样例 ●主机宕机引起切换 国害 图求上-2国主,由主到 :H?之科 夫为值师在直段 2).这一例展示了扁鹊自动结合切换前 innodb status的活跃线程已满和 processlist慢查询过多两 点判断岀是由于慢查询并发触发了主备切换,并且扁鹊将 processlist的sQL按照SQL指纹聚合起 来,方便用户快速定位到是哪条SQL导致了这个问题 317扁鹊自动化诊断样例 ●大量慢§主切换详 工( ,可吧国时 1,句想的吗,机,有的 1 Tdet eatra温s,富:,d生 3).这里我们看到扁鹊定位到了由于大事务引发的主备切换,并找到了引发大事务的具体SQL 318扁鹊自动化诊断样例 ●由大事务( binlog写入竞争)引发的主备切换 时起心船们 2.性能问题 接下来我们介绍DB的性能,哪些原因会导致性能问题 性能问题,从用户侧最直观的感受就是SQL的执行时耗过长,导致这个间题的常见原因有 1.网终因素,如延迟,丟包等 2.SQL自身执行较慢 3.资源饱和 4.锁等待 网终问题我们暂不在此深究,这里我们主要针对后三种情况展开分析一下: 32DB性能问题诊断 ●通常表现为用户请求耗时较长 ■网络因素,如延迟,丢包等 SQL自身执行较慢 ■系统资源被其他慢SQL占用 钡等待 sQL自身执行较慢 对于SQL自身执行较慢通常是由于用户没有建立合适的索引,或者由于些SQL写法上的原因导 致没有利用到已有的索引,扁鹊针对这种sQL会自动的通过语法解析,SQL访问的表结构,数据分 布等信息进行分析,生成合适的索引优化建议反馈给用户。搜索关注腾讯云数据库官方微信,获取更 多数据库技术干货分享,体验移动端一键管理数据库。 321SQ执行慢的诊断与优化 ●索引不合理,SQ写法效率低等原因导致SQL执行时耗较高 ●对某个慢查询使用扁鹊的SQL优化分析,得优化建议 如果是 SELECT也可以建议采用读写分离 同译耻 资源饱和
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: 智能运维架构
 输入关键字,在本站1000多万海量源码库中尽情搜索: