您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何查看MySQL性能的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
如何查看MySQL性能?
現在大家對MySQL的監控通常有兩種做法,一是連接到mysql數據庫內部,使用show status,show variables,flush status 來查看mysql的各種性能指標;二是直接使用mysqladmin查看其性能指標。
方法一的使用:
查看MySQL服務器配置信息 :mysql> show variables;
查看MySQL服務器運行的各種狀態值 :mysql> show global status;
慢查詢:mysql> show variables like '%s%';
mysql> show global status like '%slow%';
連接數:mysql> show variables like 'max_connections';
key_buffer_size 是對MyISAM表性能影響最大的一個參數mysql> show variables like 'key_buffer_size';
臨時表:mysql> show global status like 'created_tmp%';
查看open table :mysql> show global status like 'open%tables%';
進程使用情況:mysql> show global status like 'Thread%';
查詢緩存(query cache) :mysql> show global status like 'qcache%';
文件打開數(open_files) :mysql> show global status like 'open_files';
表鎖情況 :mysql> show global status like 'table_locks%';
表掃描情況 :mysql> show global status like 'handler_read%';
方法二的使用:
UserParameter=mysql.uptime,mysqladmin -uroot status|cut -f2 -d":"|cut -f1 -d"T"
mysqladmin兩個參數,status,extended-status
shell > mysqladmin -uroot -ppassword variables status
其中包含的信息如下:
Uptime: 4557887 #mysql運行的秒數
Threads: 1 #連接數
Questions: 1684130 #The number of questions (queries) from clients since the server was started.
Slow queries: 0 #The number of queries that have taken more than long_query_time seconds
Opens: 221872 #The number of tables the server has opened.
Flush tables: 1 #The number of flush-*, refresh, and reload commands the server has executed.
Open tables: 64 #The number of tables that currently are open.
Queries per second avg: 0.369 #從上次運行開始計算,每秒鐘平均查詢次數
關鍵的MySQL統計指標
當數據庫出現查詢緩慢或者無法響應查詢的情況時,應該怎么辦呢?我們可以通過監控與性能及資源利用率相關的指標,來查找出現這個問題的原因,避免依賴數據庫性能的相關組件也產生影響。
MySQL用戶可以接觸到的性能指標有幾百個,本文介紹四個比較關鍵常用的指標,查詢吞吐量、查詢執行性能、連接情況和緩沖池使用情況。
查詢吞吐量:MySQL內部有一個名為 Questions 的計數器,客戶端每發送一個查詢語句,其值就會加一,可利用其來衡量查詢吞吐量,SHOW GLOBAL STATUS LIKE "Questions";
查詢執行性能:監控查詢延遲的方式有很多,例如通過 MySQL 內置的指標,或者通過查詢性能模式。 MySQL 5.6.6 版本開始默認啟用,MySQL 的 performance_schema 數據庫中的表格存儲著服務器事件與查詢執行的低水平統計數據。
連接情況:MySQL的文檔指出,健壯的服務器應該能夠處理成百上千的連接數,可通過SHOW VARIABLES LIKE 'max_connections';的形式來查看。
緩沖池使用情況:MySQL 默認的存儲引擎 InnoDB 使用了一片稱為緩沖池的內存區域,用于緩存數據表與索引的數據。如果數據庫性能開始下滑,而磁盤 I/O 在不斷攀升,擴大緩沖池往往能帶來性能回升。
感謝各位的閱讀!關于“如何查看MySQL性能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。