《从可诊断性到全链路追踪_余璜.pdf》由会员分享,可在线阅读,更多相关《从可诊断性到全链路追踪_余璜.pdf(17页珍藏版)》请在三个皮匠报告上搜索。
1、余璜OceanBase 高级技术专家可诊断性和全链路追踪OceanBase SQL 执行架构P1P2OBServerP1OBServerP1P2OBServerP2OBProxySQLSQLSQLAPP(Client)314F5/SLB2OBProxySQL 路由Client应用程序F5/SLBOBProxy 负载均衡OBServerSQL优化和执行video:视频大小不要超过蓝框区域甩锅难题业务开发我这个业务卡了,是不是数据库又出问题了?DBA最近数据库一直运行很平稳,不可能出问题啊。DBA也可能是中间代理服务器(Proxy)的问题。代理服务别甩锅给我,我这边逻辑这么简单,很少出问题的。代理
2、服务那会不会是网络问题?业务开发那。业务部门那是怎么回事?OBClientOBProxyOBServerSQL1ResultSQL2Result全链路追踪:解决甩锅难题事务耗时业务逻辑耗时应用视角 SQL 耗时ObProxy 视角 SQL 耗时ObServer 视角 SQL 耗时全链路诊断能力 OceanBase 云平台全链路追踪全链路追踪能力 命令行如何了解一条 SQL 在 OBServer 内部慢在哪里?全链路追踪3.X 版本中,OceanBase 已经为用户提供了较为完善的监控和诊断能力对于一个简单 TP 查询,可以通过 GV$SQL_AUDIT 了解到执行的细节SysStatSql A
3、uditTrans StatTenant DumpSlow TransSlow Query SQL 排队时间 SQL 延迟 读磁盘数量 RPC 数量 最长等待事件缺点:对于复杂查询,能得到的信息有限。3.x 版本诊断能力还存在什么不足?对于 AP 查询,计划复杂,引入算子级监控-算子处理的数据行数-算子消耗的 CPU-处理数据的起止时间-算子特征数据-0-TOPN SORT1-HGBY2-HJ3-TSC shop4-TSC sellMonitorInfo吐出首行时间算子总处理行数统计总 CPU 消耗统计吐出末行时间GV$SQL_PLAN_MONITORSQL Plan Monitor:复杂查询
4、性能诊断利器全链路追踪我们发现下面这个 SQL 执行很慢如何利用 GV$SQL_PLAN_MONITOR 诊断慢 SQL?(一)全链路追踪4.1 引入 Realtime SQL Plan Monitor,实时监控算子处理进度如何利用 GV$SQL_PLAN_MONITOR 诊断慢 SQL?(二)select shop_id,sum(sell.goods_count)sells_count from sell,shopwhere shop.id=sell.shop_idgroup by shop.id order by sells_count desc limit 10;GV$SQL_PLAN_MONITOR 可视化(一)全链路追踪解决方案:并行执行,性能提升一倍1.每个线程 dump 数据的量减少了一半;2.bucket size 不变,数据量减少一半,hash 表查找时间也缩短;GV$SQL_PLAN_MONITOR 可视化(二)全链路追踪解决问题Q&AGitHub:/oceanbase/服务号:OceanBase数据库星球论坛: