最近写了一个程序,实时读取rsyslog日志,但是遇到一个问题:mysql插入速度存在延时,速度非常慢,于是开始了排查;
1. 分析程序,将认为比较耗时的地方进行线程分析,无效;
2. 按照网上说的,多行插入,commit都没有效果;
3. 重装mysql驱动,无效;
4. 编写简单的测试语句插入数据库,发现较慢,进一步在mysql中执行sql语句发现较慢,确定是mysql的问题;
5. 查看mysql的日志大小,以及目录空间,发现都没有问题,排除;
6. 关闭myql的bin选项,发现插入速度快了将近一半,可是还是不能接受,这也不是正确的做法;
7. 最后想到是否是磁盘的IO负载过高?排查时发现磁盘的IO速度非常慢,才100多兆,初步定位应该是该问题;
8. 切换mysql 的数据目录到ssd,发现问题解决,原来是磁盘的IO太慢导致的插入速度过慢。
当然了,上面的问题可能是个案,如果大家各种方法都排出了,不妨看下是否是我遇到的问题。