对正在运行的mysql进行监控
對正在運行的mysql進行監(jiān)控,其中一個方式就是查看mysql運行狀態(tài)。
(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狀態(tài)量
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)鎖定狀態(tài)
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值比較大,
可能是排序句子過多或者是連接句子不夠優(yōu)化
(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,每一項都代表什么意思,還是有必要弄清楚。
?
?
一,獲取mysql用戶下的進程總數(shù)
ps -ef | awk '{print $1}' | grep "mysql" | grep -v "grep" | wc-1
二,主機性能狀態(tài)
# uptime
[root@ ~]# uptime
13:05:52 up 53 days, 52 min, 1 user, load average: 0.00, 0.00, 0.00
三,CPU使用率
# top
或
# vmstat
四,磁盤IO量
# vmstat 或 # iostat
五,swap進出量[內存]
# free
六,數(shù)據(jù)庫性能狀態(tài)
(1)QPS(每秒Query量)
QPS = Questions(or Queries) / seconds
mysql > show /*50000 global */ status like 'Question';
(2)TPS(每秒事務量)
TPS = (Com_commit + Com_rollback) / seconds
mysql > show status like 'Com_commit';
mysql > show status like 'Com_rollback';
(3)key Buffer 命中率
key_buffer_read_hits = (1-key_reads / key_read_requests) * 100%
key_buffer_write_hits = (1-key_writes / key_write_requests) * 100%
mysql> show status like 'Key%';
(4)InnoDB Buffer命中率
innodb_buffer_read_hits = (1 - innodb_buffer_pool_reads / innodb_buffer_pool_read_requests) * 100%
mysql> show status like 'innodb_buffer_pool_read%';
(5)Query Cache命中率
Query_cache_hits = (Qcahce_hits / (Qcache_hits + Qcache_inserts )) * 100%;
mysql> show status like 'Qcache%';
(6)Table Cache狀態(tài)量
mysql> show status like 'open%';
(7)Thread Cache 命中率
Thread_cache_hits = (1 - Threads_created / connections ) * 100%
mysql> show status like 'Thread%';
mysql> show status like 'Connections';
(8)鎖定狀態(tài)
mysql> show status like '%lock%';
(9)復制延時量
mysql > show slave status
(10) Tmp Table 狀況(臨時表狀況)
mysql > show status like 'Create_tmp%';
(11) Binlog Cache 使用狀況
mysql > show status like 'Binlog_cache%';
(12) Innodb_log_waits 量
mysql > show status like 'innodb_log_waits';
開源監(jiān)控軟件
一,RRDTool
二,Nagios
三,MRTG
四,Cacti
總結
以上是生活随笔為你收集整理的对正在运行的mysql进行监控的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UML它 时序图
- 下一篇: Stack Overflow通过关注性能