天天看點

運作中的mysql狀态檢視

運作中的mysql狀态檢視

對正在運作的mysql進行監控,其中一個方式就是檢視mysql運作狀态。

(1)QPS(每秒Query量)

QPS = Questions(or Queries) / seconds

mysql > show global status like 'Question%';

(2)TPS(每秒事務量)

TPS = (Com_commit + Com_rollback) / seconds

mysql > show global status like 'Com_commit';

mysql > show global status like 'Com_rollback';

(3)key Buffer 命中率

mysql>show global status like '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 global status 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 global status 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 log buffer 因為空間不足而等待

比如指令:

>#show global status;

雖然可以使用:

>#show global status like %...%;

來過濾,但是對應長長的list,每一項都代表什麼意思,還是有必要弄清楚

本文轉自 tianya1993 51CTO部落格,原文連結:http://blog.51cto.com/dreamlinux/1893454,如需轉載請自行聯系原作者

繼續閱讀