写点什么

A-Ops 数据库场景在线应用性能诊断案例

作者:openEuler
  • 2023-03-15
    广东
  • 本文字数:678 字

    阅读完需:约 2 分钟

数据库场景下,由于操作系统某些进程操作(比如磁盘、网络等)占用 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


应用性能诊断


故障发现与定位结果如下图所示,可以看出已产生应用性能劣化事件,原因是网络时延异常。




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



用户头像

openEuler

关注

还未添加个人签名 2020-09-30 加入

开源操作系统 openEuler 是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目

评论

发布
暂无评论
A-Ops 数据库场景在线应用性能诊断案例_数据库_openEuler_InfoQ写作社区