SHOW STATUS;
FLUSH STATUS;
查看當前連接數 SHOW STATUS LIKE 'Thread_%';
Thread_cached:被快取的執行緒的個數
Thread_running:處于激活狀態的執行緒的個數
Thread_connected:當前連接的執行緒的個數
Thread_created:總共被創建的執行緒的個數
Thread cache hits
Thread_connected = SHOW GLOBAL STATUS LIKE Thread_created;
Connections = SHOW GLOBAL STATUS LIKE 'Connections';
TCH=(1 - (Threads_created / Connections)) * 100
查看活動連接內容
SHOW PROCESSLIST;
如果 TCH數小于90%,創建連接耗費了時間,增大Thread_cached數量
QPS (每秒查詢處理量)MyISAM 引擎
Questions = SHOW GLOBAL STATUS LIKE 'Questions';
Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';
QPS=Questions/Uptime
TPS(每秒傳輸的事物處理個數),即服務器每秒處理的事務數,如果是InnoDB會顯示,沒有InnoDB就不會顯示,
Com_commit = SHOW GLOBAL STATUS LIKE 'Com_commit';
Com_rollback = SHOW GLOBAL STATUS LIKE 'Com_rollback';
Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';
TPS=(Com_commit + Com_rollback)/Uptime
QPS 和 TPS值一定要實時監控,如果接近架構搭建時的測驗峰值,愿上帝與你同在
Read/Writes Ratio
Qcache_hits = SHOW GLOBAL STATUS LIKE 'Qcache_hits';
Com_select = SHOW GLOBAL STATUS LIKE 'Com_select';
Com_insert = SHOW GLOBAL STATUS LIKE 'Com_insert';
Com_update = SHOW GLOBAL STATUS LIKE 'Com_update';
Com_delete = SHOW GLOBAL STATUS LIKE 'Com_delete';
Com_replace = SHOW GLOBAL STATUS LIKE 'Com_replace';
R/W=(Com_select + Qcache_hits) / (Com_insert + Com_update + Com_delete + Com_replace) * 100
讀寫比,優化資料庫的重要依據,讀的多就去優化讀,寫的多就去優化寫
Slow queries per minute
Slow_queries = SHOW GLOBAL STATUS LIKE 'Slow_queries';
Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';
SQPM=Slow_queries / (Uptime/60)
Slow queries /Questions Ratio
Slow_queries = SHOW GLOBAL STATUS LIKE 'Slow_queries';
Questions = SHOW GLOBAL STATUS LIKE 'Questions';
S/Q=Slow_queries/Questions
新版本上線時要著重關注慢查詢,讓測驗去踢開發者的屁股吧
Full_join per minute
Select_full_join = SHOW GLOBAL STATUS LIKE 'Select_full_join';
Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';
FJPM=Select_full_join / (Uptime/60)
沒有使用索引而造成的full_join,優化索引去吧
Innodb buffer read hits
Innodb_buffer_pool_reads = SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_reads';
Innodb_buffer_pool_read_requests = SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_read_requests';
IFRH=(1 - Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests) * 100
InnoDB Buffer命中率 目標 95%-99%;
Table Cache
Open_tables= SHOW GLOBAL STATUS LIKE 'Open_tables';
Opened_tables= SHOW GLOBAL STATUS LIKE 'Opened_tables';
table_cache= SHOW GLOBAL STATUS LIKE 'table_cache';
table_cache應該大于 Open_tables 小于 Opened_tables
Temp tables to Disk ratio
Created_tmp_tables = show global status like 'Created_tmp_tables';
Created_tmp_disk_tables = show global status like 'Created_tmp_disk_tables';
TDR=(Created_tmp_disk_tables/Created_tmp_tables)*100
SHOW GLOBAL STATUS LIKE 'Innodb_row_lock_%';
-
Innodb_row_lock_current_waitsThe number of row locks currently being waited for. Added in MySQL 5.0.3.
-
Innodb_row_lock_timeThe total time spent in acquiring row locks, in milliseconds. Added in MySQL 5.0.3.
-
Innodb_row_lock_time_avgThe average time to acquire a row lock, in milliseconds. Added in MySQL 5.0.3.
-
Innodb_row_lock_time_maxThe maximum time to acquire a row lock, in milliseconds. Added in MySQL 5.0.3.
-
Innodb_row_lock_waitsThe number of times a row lock had to be waited for. Added in MySQL 5.0.3.
——————————————————————————————————————————————————
1.系統mysql的行程數
ps -ef | grep "mysql" | grep -v "grep" | wc –l
2.Slave_running
mysql > show status like 'Slave_running';
如果系統有一個從復制服務器,這個值指明了從服務器的健康度
3.Threads_connected
mysql > show status like 'Threads_connected';
當前客戶端已連接的數量,這個值會少于預設的值,但你也能監視到這個值較大,這可保證客戶端是處在活躍狀態,
4.Threads_running
mysql > show status like 'Threads_running';
如果資料庫超負荷了,你將會得到一個正在(查詢的陳述句持續)增長的數值,這個值也可以少于預先設定的值,這個值在很短的時間內超過限定值是沒問題的,當Threads_running值超過預設值時并且該值在5秒內沒有回落時, 要同時監視其他的一些值,
5.Aborted_clients
mysql > show status like 'Aborted_clients';
客戶端被例外中斷的數值,即連接到mysql服務器的客戶端沒有正常地斷開或關閉,對于一些應用程式是沒有影響的,但對于另一些應用程式可能你要跟蹤該值,因為例外中斷連接可能表明了一些應用程式有問題,
6.Questions
mysql> show status like 'Questions';
每秒鐘獲得的查詢數量,也可以是全部查詢的數量,根據你輸入不同的命令會得到你想要的不同的值,
7.Handler_*
mysql> show status like 'Handler_%';
如果你想監視底層(low-level)資料庫負載,這些值是值得去跟蹤的,
如果Handler_read_rnd_next值相對于你認為是正常值相差懸殊,可能會告訴你需要優化或索引出問題了,Handler_rollback表明事務被回滾的查詢數量,你可能想調查一下原因,
8.Opened_tables
mysql> show status like 'Opened_tables';
表快取沒有命中的數量,如果該值很大,你可能需要增加table_cache的數值,典型地,你可能想要這個值每秒打開的表數量少于1或2,
9.Select_full_join
mysql> show status like 'Select_full_join';
沒有主鍵(key)聯合(Join)的執行,該值可能是零,這是捕獲開發錯誤的好方法,因為一些這樣的查詢可能降低系統的性能,
10.Select_scan
mysql> show status like 'Select_scan';
執行全表搜索查詢的數量,在某些情況下是沒問題的,但占總查詢數量該比值應該是常量(即Select_scan/總查詢數量商應該是常數),如果你發現該值持續增長,說明需要優化,缺乏必要的索引或其他問題,
11.Slow_queries
mysql> show status like 'Slow_queries';
超過該值(--long-query-time)的查詢數量,或沒有使用索引查詢數量,對于全部查詢會有小的沖突,如果該值增長,表明系統有性能問題,
12.Threads_created
mysql> show status like 'Threads_created';
該值應該是低的,較高的值可能意味著你需要增加thread_cache的數值,或你遇到了持續增加的連接,表明了潛在的問題,
13.客戶端連接行程數
shell> mysqladmin processlist
mysql> show processlist;
你可以通過使用其他的統計資訊得到已連接執行緒數量和正在運行執行緒的數量,檢查正在運行的查詢花了多長時間是一個好主意,如果有一些長時間的查詢,管理員可以被通知,你可能也想了解多少個查詢是在"Locked"的狀態—---該值作為正在運行的查詢不被計算在內而是作為非活躍的,一個用戶正在等待一個資料庫回應,
14.innodb狀態
mysql> show innodb status;
該陳述句產生很多資訊,從中你可以得到你感興趣的,首先你要檢查的就是“從最近的XX秒計算出來的每秒的平均負載”,
(1)Pending normal aio reads: 該值是innodb io請求查詢的大小(size),如果該值大到超過了10—20,你可能有一些瓶頸,
(2)reads/s, avg bytes/read, writes/s, fsyncs/s:這些值是io統計,對于reads/writes大值意味著io子系統正在被裝載,適當的值取決于你系統的配置,
(3)Buffer pool hit rate:這個命中率非常依賴于你的應用程式,當你覺得有問題時請檢查你的命中率
(4)inserts/s, updates/s, deletes/s, reads/s:有一些Innodb的底層操作,你可以用這些值檢查你的負載情況查看是否是期待的數值范圍,
15.主機性能狀態
shell> uptime
16.CPU使用率
shell> top
shell> vmstat
17.磁盤IO
shell> vmstat
shell> iostat
18.swap進出量(記憶體)
shell> free
19.MySQL錯誤日志
在服務器正常完成初始化后,什么都不會寫到錯誤日志中,因此任何在該日志中的資訊都要引起管理員的注意,
20.InnoDB表空間資訊
InnoDB僅有的危險情況就是表空間填滿----日志不會填滿,檢查的最好方式就是:show table status;你可以用任何InnoDB表來監視InnoDB表的剩余空間,
21.QPS每秒Query量
QPS = Questions(or Queries) / seconds
mysql > show /* global */ status like 'Question';
22.TPS(每秒事務量)
TPS = (Com_commit + Com_rollback) / seconds
mysql > show status like 'Com_commit';
mysql > show status like 'Com_rollback';
23.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%';
24.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%';
25.Query Cache命中率
Query_cache_hits = (Qcahce_hits / (Qcache_hits + Qcache_inserts )) * 100%;
mysql> show status like 'Qcache%';
26.Table Cache狀態量
mysql> show status like 'open%';
27.Thread Cache 命中率
Thread_cache_hits = (1 - Threads_created / connections ) * 100%
mysql> show status like 'Thread%';
mysql> show status like 'Connections';
28.鎖定狀態
mysql> show status like '%lock%';
29.復制延時量
mysql > show slave status
30.Tmp Table狀況(臨時表狀況)
mysql > show status like 'Create_tmp%';
31.Binlog Cache使用狀況
mysql > show status like 'Binlog_cache%';
32.Innodb_log_waits量
mysql > show status like 'innodb_log_waits';
關注公眾號:java寶典
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/253809.html
標籤:Java

