[轉]如何監控MySQL性能?

一,獲取mysql用戶下的進程總數mysql

ps -ef | awk '{print $1}' | grep "mysql" | grep -v "grep" | wc-1ios

二,主機性能狀態sql

# uptime數據庫

[root@ ~]# uptime
 13:05:52 up 53 days, 52 min,  1 user,  load average: 0.00, 0.00, 0.00性能

 

三,CPU使用率spa

# top

# vmstat進程

四,磁盤IO量事務

# vmstat 或 # iostat
五,swap進出量[內存]內存

# free
六,數據庫性能狀態
(1)QPS(每秒Query量)
QPS = Questions(or Queries) / seconds
mysql > show /*50000 global */ status like 'Question';requests

(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狀態量
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)鎖定狀態
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';

開源監控軟件一,RRDTool二,Nagios三,MRTG四,Cacti

相關文章
相關標籤/搜索