stbyruby 发表于 2018-10-1 09:21:33

mysql查看数据库状态show status-J S Chu的技术家园

  show status ;
  global选项,查看mysql所有连接状态
  session选项,查看当前连接状态,默认session选项
  flush status;可以将很多状态值重置清零。
  获取mysql用户进程总数
  ps -ef |awk '{print $1}' |grep mysql |grep -v "grep" |wc -l
  查看mysql当前连接数
  netstat -an |grep 3306 |grep "ESTABLISHED" |wc -l
  查看主机性能状态
  uptime
  11:03:30 up 91 days,9:48,3 users,load average: 0.70, 0.91, 2.63
  查看服务器启动时长,用户数,负载
  topvmstat,top   查看cpu使用率
  vmstatiostat查看io状态
  free -h查看内存使用情况
  数据库性能状态查询:
  1)QPS每秒query量
  show global status like 'Question%';
  +---------------+----------+
  | Variable_name | Value    |
  +---------------+----------+
  | Questions   | 39661402 |
  +---------------+----------+
  2)TPS每秒事务量
  show global status like 'Com_commit';
  +---------------+---------+
  | Variable_name | Value   |
  +---------------+---------+
  | Com_commit    | 8495153 |
  +---------------+---------+
  show global status like 'Com_rollback';
  +---------------+-------+
  | Variable_name | Value |
  +---------------+-------+
  | Com_rollback| 0   |
  +---------------+-------+
  (3)key Buffer 命中率
  mysql>showglobal   statuslike   'key%';
  key_buffer_read_hits = (1-key_reads / key_read_requests) * 100%
  key_buffer_write_hits = (1-key_writes / key_write_requests) * 100%
  (4)InnoDB Buffer命中率
  mysql> show status like 'innodb_buffer_pool_read%';
  innodb_buffer_read_hits = (1 - innodb_buffer_pool_reads / innodb_buffer_pool_read_requests) * 100%
  (5)Query Cache命中率
  mysql> show status like 'Qcache%';
  Query_cache_hits = (Qcahce_hits / (Qcache_hits + Qcache_inserts )) * 100%;
  (6)Table Cache状态量
  mysql> show globalstatus like 'open%';
  比较 open_tables与 opend_tables 值
  (7)Thread Cache 命中率
  mysql> show global status like 'Thread%';
  mysql> show global status like 'Connections';
  Thread_cache_hits = (1 - Threads_created / connections ) * 100%
  (8)锁定状态
  mysql> show globalstatus like '%lock%';
  Table_locks_waited/Table_locks_immediate=0.3%如果这个比值比较大的话,说明表锁造成的阻塞比较严重
  Innodb_row_lock_waits innodb行锁,太大可能是间隙锁造成的
  (9)复制延时量
  mysql > show slave status
  查看延时时间
  (10) Tmp Table 状况(临时表状况)
  mysql > show status like 'Create_tmp%';
  Created_tmp_disk_tables/Created_tmp_tables比值最好不要超过10%,如果Created_tmp_tables值比较大,
  可能是排序句子过多或者是连接句子不够优化
  (11) Binlog Cache 使用状况
  mysql > show status like 'Binlog_cache%';
  如果Binlog_cache_disk_use值不为0 ,可能需要调大 binlog_cache_size大小
  (12) Innodb_log_waits 量
  mysql > show status like 'innodb_log_waits';
  Innodb_log_waits值不等于0的话,表明 innodb logbuffer 因为空间不足而等待
  13)show variables like '%timeout%';查看连接超时配置

页: [1]
查看完整版本: mysql查看数据库状态show status-J S Chu的技术家园