mysql狀態查看 QPS/TPS/緩存命中率查看

運行中的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,每一項都代表什麼意思,還是有必要弄清楚。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章