mysql性能检测常用命令

概要:

MySQL数据库是常见的两个瓶颈是CPU和I/O的瓶颈,CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候。磁盘I/O瓶颈发生在装入数据远大于内存容量的时候,如果应用分布在网络上,那么查询量相当大的时候那么平瓶颈就会出现在网络上,我们可以用mpstat, iostat, sar和vmstat来查看系统的性能状态。

1性能检测常用命令

show status

显示状态信息,参考:Mysql show status命令详解

show processlist

查看当前SQL执行,包括执行状态、是否锁表等,参考:Mysql show processlist命令详解

show variables

显示系统变量,参考:Mysql show variables命令详解

2瓶颈分析常用命令

获取mysql用户下的进程总数

SQL |  复制
1
ps -ef | awk  '{print $1}'  | grep  "mysql"  | grep -v  "grep"  | wc -l

主机性能状态

Text |  复制
1
2
# uptime 
13:05:52 up 53 days, 52 min, 1 user, load average: 0.00, 0.00, 0.00

CPU使用率

Text |  复制
1
# top 或 # vmstat

磁盘IO量

Text |  复制
1
# vmstat 或 # iostat

swap进出量[内存]

Text |  复制
1
# free -m

数据库性能状态

QPS(每秒Query量)

QPS = Questions(or Queries) / seconds 

SQL |  复制
1
mysql > show /*  global  */ status  like  'Question' ;

TPS(每秒事务量) 

TPS = (Com_commit + Com_rollback) / seconds 

SQL |  复制
1
2
mysql > show status  like  'Com_commit'
mysql > show status  like  'Com_rollback' ;

key Buffer 命中率

key_buffer_read_hits = (1-key_reads / key_read_requests) * 100% 
key_buffer_write_hits = (1-key_writes / key_write_requests) * 100%

SQL |  复制
1
mysql> show status  like  'Key%' ;

InnoDB Buffer命中率

innodb_buffer_read_hits = (1 - innodb_buffer_pool_reads / innodb_buffer_pool_read_requests) * 100%

SQL |  复制
1
mysql> show status  like  'innodb_buffer_pool_read%' ;

Query Cache命中率

Query_cache_hits = (Qcahce_hits / (Qcache_hits + Qcache_inserts )) * 100%;

SQL |  复制
1
mysql> show status  like  'Qcache%' ;

Table Cache状态量

SQL |  复制
1
mysql> show status  like  'open%' ;

Thread Cache 命中率

Thread_cache_hits = (1 - Threads_created / connections ) * 100%

SQL |  复制
1
2
mysql> show status  like  'Thread%' ;
mysql> show status  like  'Connections' ;

锁定状态

SQL |  复制
1
mysql> show status  like  '%lock%' ;

复制延时量

SQL |  复制
1
mysql > show slave status

Tmp Table 状况(临时表状况)

SQL |  复制
1
mysql > show status  like  'Create_tmp%' ;

Binlog Cache 使用状况 

SQL |  复制
1
mysql > show status  like  'Binlog_cache%' ;

Innodb_log_waits 量

SQL |  复制
1
mysql > show status  like  'innodb_log_waits' ;
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值