運行中的mysql狀態查看 對正在運行的mysql進行監控,其中一個方式就是查看mysql運行狀態。 www.2cto.com (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命中率 www.2cto.com 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,每一項都代表什麼意思,還是有必要弄清楚。