操作系统的aide工具用于检查磁盘的完整性,如果其检查时间耗费太多的磁盘读取资源,将会影响GBase 8a数据库的性能,典型的影响就是入库速度变慢。
现象
客户反馈加载1个小压缩文件(200MB,解压后1G),需要耗时10-20秒,对于一个50节点的集群,这性能比之前的5秒以内下降1倍以上。
排查
查看集群SQL进程,发现有1个节点,明显比其它的节点耗时长。 其它节点早就结束了,就这个节点一直持续到17秒。

登录该节点,查看 iostat 发现持续100%

该机器没有安装iotop, 使用pidstat -d 查看磁盘使用情况,发现crond进程占用了130MB的磁盘读取,gbased数据库进程只有700KB。

使用pidstat -d 1 查看,发现有多个aide进程在大量(100MB+)的读取磁盘。gbased进程读取很少(3M)且耗时很短。

查看进程,发现有4个aide, 且最长的运行时间在3天了

通过cron -l 查看定时任务,发现每天凌晨5时启动了aide检查进程。

故障原因
系统配置了定时任务运行aide来检查磁盘完整性,但从5月21日开始,发起的4次检查都没有完成。该进程争抢消耗了最多的磁盘资源导致其它进程性能变差,最终导致整个GBase 8a集群入库缓慢。
aide没有完成的原因尚需要操作系统厂商分析,怀疑磁盘出现了硬件故障。
处理方案
与aide长时间不结束有关的硬件维修或操作系统维修,
如维修时间预计较长,可以考虑将该节点临时下线,维修完成后再恢复上线。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。