Mysql cpu 100% 服务接口性能定位 (一)

背景:

开发的对外提供的下单接口,性能指标要求是 35tps 每秒,刚开始部署做性能测试的时候,由于数据没有数量量,100的并发请求下单,基本上能够达到 35 tps每秒;

平均请求处理在1秒左右;没有集群,当台服务器,但是当数据达到上万条的时候,tps直线下降到6 到 10 tps; 找测试人员问了下相关情况,说cpu都是OK的,使用率都才5%,个人也就没去看勒,直观的分析了下,问题可能在哪里; 

1. 数据库的链接是否达标;

2. 怀疑有比较烂的sql导致查询过慢

3. 程序日志是否关闭

4. 数据库的IO读写问题

列出可疑点之后逐步排查;

 

查看是否开启慢查询 以及设置对应的日志目录

mysql> show variables like 'slow%';
+---------------------+---------------------------------+
| Variable_name | Value |
+---------------------+---------------------------------+
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /var/lib/mysql/SUSE11b-slow.log |
+---------------------+---------------------------------+
3 rows in set (0.00 sec)

 

查看设置监控的日志sql执行时间

mysql> show variables like 'long%';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 1.000000 |
+-----------------+----------+
1 row in set (0.00 sec)

 

通过vi /etc/my.cnf 设置对应的值

long_query_time =1
slow_query_log =1

slow_query_log_file=/var/lib/mysql/SUSE11b-slow.log

max_connections=1000

 

设置完之后,找测试要来了对应的脚本启动并发测试;

[root@ZF_V2 ~]# tail -f /var/lib/mysql/SUSE11b-slow.log
# User@Host: root[root] @ [172.16.35.21]
# Query_time: 1.329723 Lock_time: 0.000063 Rows_sent: 1 Rows_examined: 56181
SET timestamp=1447670458;
SELECT COALESCE(SUM(MAX_USE_NUMBER-USED_NUMBER-INVALID_NUMBER), 0)
FROM S0113_S_COMMON_VOUCHER WHERE GOODS_ID = 10036;
# User@Host: root[root] @ [172.16.35.21]
# Query_time: 1.078350 Lock_time: 0.000036 Rows_sent: 1 Rows_examined: 56191
SET timestamp=1447670458;
SELECT COALESCE(SUM(MAX_USE_NUMBER-USED_NUMBER-INVALID_NUMBER), 0)
FROM S0113_S_COMMON_VOUCHER WHERE GOODS_ID = 10036;

 

发现原来是sql语句执行时间过长导致;停止性能测试,通过分析工具再次执行,同样的sql语句在并发的过长当中需要1s甚至2s,当时单独执行只需要100ms 甚至更少,然后在想是什么原因; 是不是工具有缓存导致??只有可能,然后通过后台sql 命令直接连接执行对应的sql语句,还是非常快;思考为什么?? 然后再次启动并发测试,执行同样的sql,速度突然慢了;????百思不得其解, 突然一下子打了一个 top 命令,,我擦 。。。被坑了,,,cpu98%了。。。。。。。。。

定位来定位去,原来是mysq 服务器cpu过高导致,那么就在想,什么原因导致cpu过高了,问题还得解决;  今天先转测试吧,明天再继续来解决性能环境的性能问题;

 

posted @ 2015-11-17 14:07  lishijia  阅读(415)  评论(0编辑  收藏  举报