当前位置: 首页 > Linux

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

时间:2023-04-06 18:46:51 Linux

数据库场景下,操作系统的某些进程操作(如磁盘、网络等)占用过多I/O带宽,导致应用性能下降,原因如下:I/O带宽不足。如何快速准确地诊断应用性能问题并定界定位,是运维人员面临的重要挑战。案例1GaussDB应用磁盘IO故障在线诊断本案例模拟向Gaussdb应用注入磁盘IO故障。故障注入前应用的实时拓扑关系如下图所示。gaussdb应用包括1个master(进程id:1548)和1个slaver(进程id:1739),运行在虚拟机vm02上。gaussdbmaster有5个客户端TCP连接。此时gaussdb的应用性能如下图所示,平均600TPS。Injectionfaults将磁盘读写故障注入到gaussdb的数据目录中。命令如下:bladecreatediskburn--read--write--path/data--timeout120applicationperformancediagnosis此时应用性能下降,从大约600TPS→60TPS,下降近10次??,如下图:故障发现和定位结果如下图所示。可以看出,由于磁盘读写响应异常,导致应用性能下降的事件发生了。具体的故障传播关系如下图所示。可以看出,应用性能下降的原因是磁盘写响应异常和块层请求延迟异常。进一步的磁盘异常是由故障注入工具chaos(进程id:3941335)引起的。案例2Redis应用网络延迟故障在线诊断注入故障通过故障注入工具ChaosBlade注入2分钟网络延迟故障,具体命令:bladecreatenetworkdelay--time50--offset50--interfaceens1--local-port3742--timeout120故障注入期间,redissli指标明显恶化。10ms到80ms的应用性能诊断故障发现定位结果如下图所示。可以看出,由于网络延迟异常,应用性能下降事件已经发生。具体的故障传播关系如下图所示。可见,应用性能下降是网络延迟异常导致的。