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


 

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》 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM