前言
天下武功,唯快不破。在侦探的世界中,破案效率永远是衡量一名侦探能力的不二法门。作为推理界冉冉升起的新星,大侦探福尔摩斯·K凭借着冷静的头脑、严谨的思维,为我们展现了一场场华丽而热血的推理盛宴。
接下来,我们不仅仅是看客,还将追随福尔摩斯·K的脚步,体验一场身临其境的冒险。一起寻访产生数据库性能问题的根源,深度探索和解析数据库性能问题:
妙用调优“四剑客”,轻松完成金仓数据库KingbaseES的性能调优!
案情接入,问题初露端倪
案发时间
2022.10.26 晴
案发地点
X客户项目现场
案件描述
业务系统上线前出现性能问题,导致业务卡顿情况严重。
案情接入
由于生产环境不可随意改动,在现场支援的华生医生配置了与生产环境一致的测试环境,来进行初步的诊断。后续的性能优化方案也会先于测试环境验证,待性能达标之后,方可在生产环境上线。
_ |
生产环境 |
测试环境 |
环境 |
Kylin Linux Advanced Server V10 128个CPU核心 754 GB内存 64 TB磁盘 |
Kylin Linux Advanced Server V10 128个CPU核心 754 GB内存 64 TB磁盘 |
根据华生医生跟X客户的沟通,多个应用场景使用连接池连接到KingbaseES服务器,300并发,其中一个业务场景慢,吞吐量上不来,平均一个业务请求超过85秒。华生医生要在当日内完成对该业务场景的性能优化,使X客户的平均业务响应时间进入10秒,以保证业务系统按时上线。但在有限的时间内快速优化业务场景的性能,实非华生医生所长。于是,大侦探福尔摩斯·K便被召唤闪亮登场。
抽丝剥茧,探索服务器环境
魅影重重的故事已被华生医生初步解开谜底,然而,如何让“犯罪分子”——不正确的配置参数或低性能的SQL语句伏诛,依旧是一场酣畅淋漓的侦探冒险。
就这样,福尔摩斯·K携金仓数据库KingbaseES性能优化四剑客KWR、KSH、KDDM和KWR Diff踏上了性能调优之旅。
KWR:KES自动负载信息库(Automatic Workload Repertories),每小时自动采集性能指标生成快照,建立数据库时间模型、IO模型、等待事件、TOP SQL和操作系统统计等性能指标,为数据库性能调优提供指导。
KSH:KES活跃会话历史库(Active Session History),每秒自动采样活跃会话的等待事件、SQL语句、阻塞等会话信息,提供针对某个历史时间点的性能问题分析。
KDDM:KES自动诊断和建议(Automatic Database Diagnostic Monitor),基于KWR快照和数据库时间模型,给出内存、网络、IO和SQL性能优化建议。
KWR Diff:KWR差异报告,通过比较2段时间内KWR性能指标的差异,发现性能变化的趋势。
在和现场的华生简单对接后,福尔摩斯·K首先要排查一下服务器主机环境,并了解KES在该业务场景下的整体性能表现,确定性能优化目标。这通过KWR十分容易就能获得。
Step.1
产生KWR报告分析主机环境
配置KWR开关并让配置参数全局生效,迅速开启压测模拟约20分钟,生成KWR快照及报告: