乐趣区

关于数据库:AOps-数据库场景在线应用性能诊断案例

数据库场景下,因为操作系统某些过程操作(比方磁盘、网络等)占用 I / O 带宽过高,造成利用因为 I / O 带宽有余产生性能劣化的问题,如何疾速、精确地诊断利用性能问题,并对问题进行定界定位是运维人员的重要挑战。

案例一

GaussDB 利用磁盘 IO 类故障在线诊断

该案例通过对 Gaussdb 利用注入磁盘 IO 故障来模仿。

故障注入前

利用实时拓扑关系如下图所示,gaussdb 利用蕴含 1 个 master(过程 id:1548) 和 1 个 slaver(过程 id:1739),运行在虚拟机 vm02 上,gaussdb master 有 5 个客户端 TCP 连贯。

此时,gaussdb 的利用性能如下图所示,均匀 600 TPS。

注入故障

在 gaussdb 的数据目录注入磁盘读写故障,命令如下:blade create disk burn –read –write –path /data –timeout 120

利用性能诊断

此时利用性能呈现劣化,从大略 600 TPS → 60 TPS,降落了近 10 倍,如下图所示:

故障发现与定位后果如下图所示,能够看出已产生利用性能劣化事件,起因是磁盘读写响应异样。

具体的故障流传关系如下图所示,可见利用性能劣化是因为磁盘写响应异样以及 block 层 request 时延异样,进一步的磁盘类异样是因为故障注入工具 chaos(过程 id:3941335)导致。

案例二

Redis 利用网络时延类故障在线诊断

注入故障

通过故障注入工具 ChaosBlade 注入 2 分钟网络时延故障,具体命令:blade create network delay –time 50 –offset 50 –interface ens1 –local-port 3742 –timeout 120

故障注入期间 redis sli 指标呈现显著劣化,大略从 10ms → 80ms

利用性能诊断

故障发现与定位后果如下图所示,能够看出已产生利用性能劣化事件,起因是网络时延异样。

具体的故障流传关系如下图所示,可见利用性能劣化是因为网络时延异样导致。

退出移动版