1. 程式人生 > >性能測試四十三:數據庫監控的指標

性能測試四十三:數據庫監控的指標

命令 分享圖片 時有 ike src 影響 var 其中 dumps

mysql結構簡介

技術分享圖片

1,慢查詢
  查看某個變量的值,一般是看配置:show variables like ‘%slow%‘;
  查看當前某個參數的狀態值,一般是動態的,而且是在命令行下查看:show global status like ‘%long_query%‘;

技術分享圖片

  使用配置查看:具體配置在上上篇裏面講了,使用命令:mysqldumpslow -s at 10 slow.log

2,連接數
  查看當前mysql裏面配置的連接數:show variables like ‘%connections%‘;

  max_connections:整個MySql允許的最大連接數

技術分享圖片

  查看當前連接數:show status like ‘%thread%‘;

其中:
  Threads_connected 當前打開的連接的數量
  Threads_cached 線程緩存內的線程的數量
  Threads_created 創建的線程數
  Threads_running 激活的(非睡眠狀態)線程數

技術分享圖片


show status like ‘%connection%‘;
Connections 試圖連接MySQL服務器的次數

技術分享圖片


3,緩沖池(作用類似於Redis,緩存的是數據)
  查看緩沖池的大小(在不影響其他的情況下能配多大配多大):show variables like ‘%buffer_pool_size%‘;

技術分享圖片

  查看當前緩沖池裏面的狀態值:show status like ‘%buffer%‘;

其中:
  Innodb_buffer_pool_reads:緩沖池中沒有讀到數據,而從磁盤內讀取的次數
  Innodb_buffer_pool_read_requests:來緩沖池中讀數據的次數
  Innodb_buffer_pool_pages_total:緩沖池的總頁數(內存是以頁為單位)
  Innodb_buffer_pool_pages_free:緩沖池中處於空閑狀態的頁數

命中率:innodb_buffer_read_hits=(1-Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests)*100%

技術分享圖片


4,查詢緩存 (緩存的是sql語句)
  show variables like ‘%query_cache%‘;
  show status like ‘%Qcache%‘;
  命中率:Query_cache_hits=(Qcache_hits/(Qcache_hits+Qcache_inserts))*100%

技術分享圖片

5,線程緩存(連接池)
  show variables like ‘%thread%‘;
  show status like ‘connections‘;
  show status like ‘%thread%‘;
  Threads_Cache_Hit=(Connections-Threads_created)/Connections*100%

6,表鎖和行鎖 (若沒有鎖,如果有人在更新數據,此時有人又在查詢數據,這個時候查出來的數據不正確)
  show status like ‘%lock%‘;
  存儲引擎:早期mysql用的,MyISAM,現在都用Innodb
  MyISAM:支持表鎖
  Innodb:支持行鎖、支持事務

詳見《高性能mysql》

性能測試四十三:數據庫監控的指標