MySQL 變數及效能狀態檢視知識技巧
1995年首發以來,MySQL不僅自己“星途坦蕩”,成為了現今最流行的關係型資料庫,同時還衍生出很多備受矚目的分支,如在資料庫領域撕開缺口併成功佔據一席之地的 MariaDB 及 Percona。
今天,我們就來談談如何檢視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 在不斷攀升,擴大緩衝池往往能帶來效能回升。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31137683/viewspace-2215353/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 獲取Mysql的狀態、變數MySql變數
- 檢視使用 MySQL Shell 的連線狀態MySql
- mysql檢視主從同步狀態的方法MySql主從同步
- 小知識:使用oracle使用者檢視RAC叢集資源狀態Oracle
- 【知識分享】檢視伺服器狀態經常使用的幾個命令伺服器
- 資料庫效能大揭秘:玩轉MySQL監控指標狀態變數資料庫MySql指標變數
- 檢視mysql執行狀態的一些sqlMySql
- [20190506]檢視巢狀與繫結變數.txt巢狀變數
- GitLab 的元件狀態檢視Gitlab元件
- 檢視BW執行狀態
- Kylin系統檢視firewalld狀態
- firewalld:檢視版本/幫助/狀態
- 必備知識點 檢視
- vuex狀態管理知識點記錄Vue
- 變電站裝置狀態識別無人值守巡檢系統
- kafka檢視Topic列表及消費狀態等常用命令Kafka
- 8.1關於動態效能檢視
- 【知識分享】如何檢視伺服器埠及埠分類伺服器
- 如何檢視CATIA許可證狀態
- 檢視一個通訊埠狀態
- 使用 telescope 檢視 schedule 執行狀態
- 系統狀態統計和檢視
- 物化檢視幾個知識點
- corejava基礎知識(6)-檢視Java
- 巧用Zabbix自定義監控Mysql效能狀態MySql
- db2常用動態效能檢視DB2
- 4.2.10.3 檢視環境變數變數
- 向檢視傳遞變數變數
- Elasticsearch 檢視節點狀態資訊(qbit)Elasticsearch
- cmd 檢視防火牆狀態以及關閉防火牆
- 3.4.4 檢視例項的靜默狀態
- linux檢視伺服器狀態命令--lsloadLinux伺服器
- 通過Python檢視Azure VM的狀態Python
- 用設計模式去掉沒必要的狀態變數 —— 狀態模式設計模式變數
- mysql 聯合表(federated)及檢視MySql
- 效能測試必備知識(6)- 如何檢視“CPU 上下文切換”
- Js基礎知識(一) – 變數JS變數
- 乙太網狀態檢視工具:Ethernet Status for MacMac