高性能mysql,mysql里的profiling性能监控方法

mysql 5.0.37提供了性能监控语句show profile以及show profiles,使用这两个语句可以查看执行过sql语句的占用的cpu内存等等。
要使用profiling, 在编译的时候要加入–enable-profiling, 然后打开profile功能
show profile 的格式如下:
SHOW PROFILE [type [, type] … ]
[FOR QUERY n]
[LIMIT row_count [OFFSET offset]]
type:
ALL
| BLOCK IO
| CONTEXT SWITCHES
| CPU
| IPC
| MEMORY
| PAGE FAULTS
| SOURCE
| SWAPS
使用这个命令要首先设置在开启性能监控:
mysql> SET profiling = 1;
接下来,我们执行一个语句
mysql> selecy * from user;
这是我们来看看:show profile cpu,memory for query 1;
让我们看看结果:
+——————————–+———-+———-+————+
| Status | Duration | CPU_user | CPU_system |
+——————————–+———-+———-+————+
| (initialization) | 0.000002 | 0 | 0 |
| checking query cache for query | 0.00004 | 0 | 0 |
| Opening tables | 0.000009 | 0 | 0 |
| System lock | 0.000005 | 0 | 0 |
| Table lock | 0.00001 | 0 | 0 |
| init | 0.000028 | 0 | 0 |
| optimizing | 0.000005 | 0 | 0 |
| statistics | 0.000013 | 0 | 0 |
| preparing | 0.000011 | 0 | 0 |
| executing | 0.000004 | 0 | 0 |
| Sending data | 0.000622 | 0 | 0 |
| end | 0.000005 | 0 | 0 |
| query end | 0.000003 | 0 | 0 |
| freeing items | 0.000007 | 0 | 0 |
| closing tables | 0.000006 | 0 | 0 |
| logging slow query | 0.000003 | 0 | 0 |
+——————————–+———-+———-+————+
如果不指定 for query n,那么则是这个session中的最近一条查询语句。
Tags:  mysql监控 mysql性能 高性能mysql

延伸阅读

最新评论

发表评论