压测时,经常会出现mysql数据库CPU使用率过高,下面介绍一下简单的问题定位方法;
1、确定是否有慢sql语句;
1)登录数据库服务器,连接数据库;执行命令:mysql -uroot -p 密码
2)查看慢sql日志是否开启,执行命令:show variables like '%slow%'
slow_lauch_time,慢sql的执行时间配置,大于该值为慢sql,记录到日志中,根据业务需求配置;
slow_query_log,慢sql日志开关,ON为开启,OFF为关闭;
slow_query_log_file,慢sql日志文件路径,可通过日志查看慢sql语句及执行时间;
3)查看慢sql语句,并查看sql语句的执行计划,看是否缺少索引,是否可以进行优化;
2、查看耗cpu较多的sql语句,查看sql执行计划,是否缺少索引;
如果交易执行过程中没有慢sql语句,可登陆服务器,连接数据库,查看耗cpu较多的sql语句,查看sql执行计划,是否可以进行优化;
1)登录服务器,连接数据库,执行命令:mysql -uroot -p 密码
2)查看耗cpu较多的sql语句,执行命令:show processlist