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較為重要的狀態變數MySql變數
- mysql檢視主從同步狀態的方法MySql主從同步
- 小知識:使用oracle使用者檢視RAC叢集資源狀態Oracle
- 【知識分享】檢視伺服器狀態經常使用的幾個命令伺服器
- mysql狀態檢視 QPSTPS快取命中率檢視MySql快取
- 檢視 SELinux狀態及關閉SELinuxLinux
- mysql狀態檢視 QPS/TPS/快取命中率檢視MySql快取
- 動態效能檢視
- Oracle檢視:常用動態效能檢視Oracle
- 檢視mysql執行狀態的一些sqlMySql
- v$動態效能檢視和隱含引數
- ASM動態效能檢視ASM
- mysql 優化:使用show status檢視MySQL伺服器狀態資訊MySql優化伺服器
- 檢視BW執行狀態
- 檢視看防火牆狀態防火牆
- (轉)Oracle 動態效能檢視Oracle
- V$PGASTAT動態效能檢視AST
- 動態效能檢視基礎
- 系統狀態檢視工具Sysstat
- 物化檢視知識點滴
- 必備知識點 檢視
- 備份相關的動態效能檢視及監控
- 檢測mysql狀態的指令碼MySql指令碼
- vuex狀態管理知識點記錄Vue
- 檢視繫結變數變數
- MySQL 變數 、rownum 、 一行拆多行..小知識點MySql變數
- kafka檢視Topic列表及消費狀態等常用命令Kafka
- 【知識分享】如何檢視伺服器埠及埠分類伺服器
- 使用 telescope 檢視 schedule 執行狀態
- 系統狀態統計和檢視
- 檢視映象資料庫的狀態資料庫
- linux perl 檢視檔案狀態Linux
- 系統狀態檢視工具systat(轉)
- 8.1關於動態效能檢視
- Linux下用netstat檢視網路狀態、埠狀態Linux
- corejava基礎知識(6)-檢視Java
- 物化檢視幾個知識點