1. 版本............................................................................................................................................1
2. 使用介紹....................................................................................................................................1
1) 主頁 ..................................................................................................................................1
會話面板...........................................................................................................................1
MySQL面板.......................................................................................................................2
INNODB面板 ....................................................................................................................4
存儲面板...........................................................................................................................5
主機面板...........................................................................................................................7
2) MySQL Drilldown.........................................................................................................7
Activity Summary........................................................................................................7
Mutex................................................................................................................................8
Sorts................................................................................................................................9
Query Cache..................................................................................................................9
Configuration............................................................................................................10
Statics.........................................................................................................................10
InnoDB Status............................................................................................................10
Error Log.....................................................................................................................10
General Log................................................................................................................10
Slow Query Log..........................................................................................................11
3) OS Performance page...............................................................................................11
CPU utilization........................................................................................................11
Disk IO.........................................................................................................................11
Paging and scan rates...........................................................................................12
Load average/Run queue........................................................................................12
Network.........................................................................................................................12
Free memory................................................................................................................12
4) OS Processes page...................................................................................................12
5) OS Drilldown error.................................................................................................13
?
1. 版本
Quest_Spotlight-on-MySQL_80.exe(附注冊機)
2. 使用介紹
1) 主頁
會話面板
說明:
Total Users:已連接到 mysql服務器的用戶數
Active Users:正在執行 sql語句、其它數據庫請求的用戶數
Active Sessions:正在執行 sql語句、其它數據庫請求的會話占比
SQL Executions/s:每秒向服務器發送 sql語句、其它數據庫請求的次數。統計所有數據庫請求,包括
CALL, SHOW, DESC 和 SET語句。如果發起的是 CALL請求,即便存儲過程調用執行多條 SQL語句,也只
算一次。
Data Send rate (kb/s):每秒向服務器發送的數據大小。數據包括命令包(比如 SQL語句)和需要存儲
至數據庫的數據。
通常,該比例越大,表示插入(INSERT)速率越大。
Data Received rate (kb/s):所有客戶端每秒從 mysql數據庫服務器接收的數據大小。數據包除了包
含通常由 SELECT返回的結果集,還可能包括返回的代碼,錯誤信息等
MySQL面板
Sort Buffer Size:對應系統全局變量 sort_buffer_size的值
查看:SHOW GLOBAL VARIABLES LIKE 'sort_buffer_size';
sort_buffer_size定義了每個會話可用于執行排序的內存大小。如果排序要求更多的內存,則將使用臨
時表來執行排序。會話可以單獨改變這個值的大小。
Rows Sorted:于狀態變量 sort_rows,展示 mysql服務器每秒排序的行數
查看: SHOW STATUS LIKE 'sort_rows';
MySQL僅報告排序執行完成時排序的行數,所以,如果一些排序執行耗時較長,統計值可能周期性的在短
期內達到很高。
Query Cache Status:mysql緩存查詢的狀態,值如下:
OFF -- 未開啟緩存查詢
ON -- MySQL將緩存不攜帶 SQL_NO_CACHE選項的 SELECT語句。
DEMAND -- MySQL只緩存包含 SQL_CACHE選項的查詢語句。
Query Cache Size:緩存大小
Queries:當前 MySQL查詢緩存中的緩存查詢的數量。
Free:查詢緩存中的剩余可用內存。
QC Hit Rate:緩存命中率,即因為緩存查詢中找到了匹配的 SELECT,而不用去執行數據庫查詢的 SELECT
語句百分比。
Thread Pool:已連接線程數。
InnoDB Change/s [= Logical Writes/s]:InnoDB執行的寫請求速率,在 InnoDB緩沖池中每秒執行
的寫操作請求數,基于狀態變量 innodb_buffer_pool_write_requests的統計。
查看:SHOW STATUS LIKE 'innodb_buffer_pool_write_requests';
InnoDB Logical Reads/s:InnoDB執行的邏輯讀請求速率,即 InnoDB每秒執行的邏輯讀請求數。包含
所有來自 InnoDB請求,含從緩沖池和從磁盤獲取的數據的請求。
InnoDB Log Buffer Writes/s:向 InnoDB日志緩沖區寫入數據的速率,即每秒向 InnoDB日志緩沖區
發起的寫請求數。
INNODB面板
INNODB Buffer Pool Size:InnoDB緩沖池(InnoDB buffer pool)大小,以 M為單位。InnoDB緩沖
池在內存中緩存了表數據和索引,所以,不需要每時每刻都從磁盤讀取數據。
INNODB Buffer Pool Free:InnoDB緩沖池中未用于緩存數據的剩余可用內存。大部分操作系統中,該
值最后會達到 0,除非緩沖池足夠大,能容納所有從數據庫的讀取的數據。
Buffer Pool Hit Rate:緩沖池命中率,即在緩沖池中找到一個請求數據塊,并因此避免磁盤 I/O的時
間占比。(he percentage of the time that a requested data block was found in the buffer
pool and for which a disk I/O was avoided)
該值越高,意味著緩存效果越好。然而,如果應用執行大量的全表掃描,該值變得很低也是正常的(Higher
values indicate good cache effectiveness. However, if your application performs a large
number of full table scans, low values may be normal)。
Rows Processed:每秒處理行數,代表 insert,update,delete和 select操作速率。不包含行排序
速率。
Log Buffer Size:InnoDB日志緩沖池(InnoDB log buffer)的大小,以 M為單位。InnoDB日志緩沖
區緩存了待寫入 InnoDB事務日志的緩沖數據,也就是說,InnoDB會將日志將數據寫入到內存中的日志緩
沖區中,在 InnoDB事務提交前,并不會把改變的日志寫入到磁盤中,因此在大事務中,可以減輕磁盤 I/O
的壓力。
IO Threads:執行 InnoDB I/O的幫助線程數量。
Physical Writes/s:InnoDB往磁盤上表空間文件寫入數據的速率,個人理解,即每秒向表空間文件發
起的的寫請求數。
Physical Read/s:從 InnoDB表空間文件到 InnoDB緩沖池的物理 I/O速率,個人理解,即每秒向表空
間文件發起的讀請求數。
InnoDB Log File Writes/s:往 InnoDB事務日志的 I/O速率,個人理解:每秒向 InnoDB事務日志文
件發起的寫請求數。
存儲面板
Tablespace:8.0.0.1630版本中,無法顯示每個每個表使用一個表空間文件的 InnoDB配置
Total: 分配給 InnoDB表空間的總空間大小。
可以在安裝目錄下的 my.cnf(Linux)、my.ini(Windows)文件中,[mysqld]結點下進行參數配置以
例如:
[mysqld]
innodb_data_file_path=ibdata1:50M;ibdata2:50M:autoextend
--------------------------------------------------------------------------------
注意:Spotlight主頁的刷新速率可能會導致該組件展示數據的延遲
Free:InnoDB表空間的剩余內存數量,基于 SHOW TABLE STATUS某個返回值的統計
--------------------------------------------------------------------------------
注意:Spotlight主頁的刷新速率可能會導致該組件展示數據的延遲
Auto Extend:InnoDB 表空間的表大小可以被設置為自動擴展。
可以在安裝目錄下的 my.cnf(Linux)、my.ini(Windows)文件中,[mysqld]結點下通過
innodb_data_file_path選項進行配置。自動增長的大小可通過 innodb_autoextend_increment選項
進行配置,默認為 8M,即每次擴展自動增加 8M
Logs:InnoDB事務日志。
--------------------------------------------------------------------------------
注意:該組件當前未關聯值,其顯示僅僅代表 MySQL架構中事務日志。
Logs (number and size):
供 InnoDB存儲引擎使用的日志組中日志數量和大小。該值基于 MySQL SHOW VARIABLES返回值的統計。
可以在安裝目錄下的 my.cnf(Linux)、my.ini(Windows)文件中,[mysqld]結點下通過
innodb_log_files_in_group選項進行配置,默認值大小為 2。日志組中,每個日志文件的大小通過
innodb_log_file_size進行設置,默認值為 5M。
自動增長的大小可通過 innodb_autoextend_increment選項進行配置,默認為 8M,即每次擴展自動增
加 8M。
主機面板
Total CPU Usage:該代表 CPU總使用量,隨著 CPU使用的增加而轉的越快。當 CPU使用超過一定閾值
時,會有告警提示。
Run Queue:等待 CPU資源的任務數。當數字超過 CPU資源數時,CPU成為瓶頸
Free Physical RAM:可用物理隨機存儲內存(RAM)。當可用剩余 RAM很低時,會有告警提示。
2) MySQL Drilldown
Activity Summary
a. SQL Execution Rates
略
b. Row Access
略
c. Session
Cached:已緩存連接線程的數量。
Idle:已連接并處于休眠狀態的會話數。
Active:展示已連接并處于活動狀態(比如正在執行 sql語句)的會話數。
d. Logical I/O
略
e. Miss Rates
Query Cache:查詢緩存丟失率,代表因查詢緩存不能滿足 SELECT語句請求而通過 MySQL執行查詢的百
分比。
Buffer Cache:緩沖緩存丟失率,代表因緩沖池不能滿足數據請求而需從物理磁盤讀取的百分比。
Mutex:mutex丟失率,代表通過可用 mutex不能滿足數據請求的百分比。(The mutex miss rate
represents the percentage of data requests that cannot be satisfied by an available mutex
(mutual exclusion object)。
f. Physical I/O
略
Mutex
一個 mutex為一個程序對象(攜帶唯一名稱、ID),允許多線程共享相同的資源。相關程序開啟時,就為該
資源創建了一個 mutext。
當線程需要使用該資源,mutext會鎖定資源以阻止其它線程使用該資源。被“鎖在外面”的線程被放入到
某個隊列,并且直到它排到隊列“前面”,且 mutext被解鎖了才可以操作資源。
當前 Spotlight支持展示表的 mutext活動,列名解釋如下:
Mutex:mutex名稱。
Mutex Count:線程獲取 mutext的總次數
Mutex Rate:當前每秒 mutex獲取速率,個人理解:每秒獲取到 mutex的次數。
Spin Waits:獲取不到 mutex的次數,當獲取不到 mutex時,線程會將會反復檢查 mutex是否被解鎖,
處于忙等待狀態(busy-waiting),直到獲取該鎖才能繼續執行未完成的任務,
Spin Wait Rate:自旋等待(spin wait)占比
Spin Rounds:spin嘗試次數,個人理解,處于 spin wait的線程嘗試獲取 mutex的次數
OS Waits:因獲取不到 mutex而處于睡眠的線程數[當經過一定次數的 spin且沒獲取到 mutex,線程會
進入休眠(臨時停止嘗試去獲取 mutex,并且在停止休眠后繼續嘗試)]
OS Wait Time:線程消耗在休眠和嘗試獲取 mutex之間的時間。要獲取該值,MySQL必須以
--timed-mutexes選項運行。
OS Wait Time Rate:當前處于睡眠狀態的線程占比
Module:當前有創建 mutex的執行模塊。
注意:需要有訪問權限才可以展示。即有執行 SHOW ENGINE INNODB MUTEX的權限。
Sorts
a. Sorts per Second chart
Total Sorts:結合官方文檔,個人理解:每秒執行的排序次數
Range Sorts:結合官方文檔,個人理解:每秒通過 range scan完成的排序次數
Scan Sorts:結合官方文檔,個人理解:每秒通過 scan完成的排序次數
b. Sort Rows per Second
略
c. Sort Merge Operations per Second
展示每秒歸并排序(merge sort)次數
一個歸并排序,會把一個大表分解成一系列更小的臨時表,然后獨立排序每個臨時表,最后混合排序結果
至原始表。
d. Merges per Sort
完成一個歸并排序,merge通過的平均數(This chart shows the average number of merge passes
required to complete a sort merge)
Query Cache
a. Query Cache Miss Rate
展示客戶端向 MySQL發起數據庫服務器發起,但未在查詢緩存中找到的 SELECT查詢占比。當丟失率超過
某個指定閾值 時,Spotlight可能會拋出查詢緩存命中率告警(Query Cache Hit Rate alarm)
b. Query Cache Activity
展示查詢緩存中執行的各種類型的活動。
Added:往查詢緩存中添加 SELECT查詢的速率,個人理解,每秒添加的 SELECT語句數。
Removed:從查詢緩存中移除查詢的速率,個人理解,每秒移除的 SELECT語句數。如果該值不斷增加,
得考慮增加查詢緩存大小。
Hits:通過查詢緩存執行查詢的速率,個人理解,命中率(hit rate),即每秒在查詢緩存查中找到的目
標 SELECT語句數。(The rate at which queries are performed via the query cache)。如果
命中率太低,得考慮增加查詢緩存的大小。
Not Cached:每秒不能被緩存的已執行 SQL語句數。以下情況可能導致 SQL語句不能被緩存:
1)不是 SELECT語句
2)語句通過 SQL_NO_CACHE選項禁止從緩存讀取
Misses:查詢緩存找不到查詢的速率,個人理解:緩存未命中率,即去查詢緩存中查找目標 SELECT,但
是沒找到,針對折中情況統計的每秒 SELECT語句數
c. QCache Free Memory
查詢緩存中剩余可用空間數量,單位 M。如果剩余空間太小,可能導致緩存的查被過早的從緩存移除。如
果是這樣,考慮增加緩存查詢的大小。
d. QCache SQL Statements
展示存儲在緩存查詢中的 SQL語句數。
Configuration
略
基于 SHOW VARIABLES命令的返回結果統計
Statics
Statistic:MySQL狀態變量名稱
Total Value:基于 MySQL的 SHOW GLOBAL STATUS 命令輸出狀態變量值的統計
Rate:狀態變量值改變速率,個人理解:每秒變量值改變次數
InnoDB Status
略
Error Log
統計當前連接的 mysql錯誤。當出現以下情況時,會生成一條錯誤信息
1)創建,啟動,停止數據庫
2)創建表或需要對表進行檢查、修復
3)創建日志文件
General Log
記錄 mysql事件的普通日志,略
Slow Query Log
慢查詢統計僅支持 MySQL 5.1.12或更新的版本。
Slow Query Log頁面中的每一行記錄代表一條需要花很長時間才能完成的 sql查詢
以下是管理慢查詢日志行為的數據庫變量:
long_query_time:
慢查詢定義:查詢耗時超過 long_query_time變量值的查詢。默認 long_query_time默認為 10s,注意,
單位是秒
slow_query_log:開啟、關閉慢查詢日志(ON/OFF)。
slow_query_log_file:慢查詢日志文件名稱
--------------------------------------------------------------------------------
注:Spotlight會在 Configuration頁面展示當前以上變量的值。
該頁面表格中的一些列默認的被隱藏了,可通過右鍵表頭-Orgnaize Columns打開查看。
Start Time:MySQL開始執行查詢的時間
User@Host:提交查查詢的賬戶。
Query Time:查詢耗時。
Lock Time:查詢所需數據庫表的鎖定時間。注意,鎖定時間不算在執行時間內。
Rows Sent:提交處理的表記錄行數(The number of table rows submitted for processing)
Rows Examined:執行查詢時,mysql檢測的表記錄行數。
Database:運行查詢所在的數據庫實例
SQL Text:已經執行 SQL語句的文本內容
Server ID:執行 MySQL命令所在的服務器 ID
3) OS Performance page
CPU utilization
花費在用戶模式和內核模式的 CPU時間百分比
Disk IO
每秒磁盤傳輸 (tps:每秒對設備的 I/O請求數。 多個邏輯的請求可以合并成一個 I/O請求。)
Paging and scan rates
頁面活動,包括每秒換入頁面和每秒換出頁面(Paging activity, including pages in per second,
and pages out per second)
Load average/Run queue
處理器隊列長度。
Network
每秒發送和接收的數據包(packet,是 TCP/IP協議通信傳輸中的數據單位)數量。
Free memory
數據庫服務器可用虛擬內存和物理內存
4) OS Processes page
Process ID:數據庫服務器操作系統進程 ID
Command:執行的命令,即開啟進程的命令
User:進程的所有者
% User:用戶進程消耗的 cpu時間占比。僅支持 UNIX系統,不支持 Linux及其它(The percentage of
time spent by this process in user mode. This column does not display data when you are
analyzing a database running on UNIX)。
% Privileged:系統進程消耗的 cpu時間占比,僅支持 UNIX系統,不支持 Linux及其它(The percentage
of time spent by this process in privileged mode. This column does not display data when
you are analyzing a database running on UNIX)。
Virt. Mem. (MB):進程占用的虛擬內存
The amount of virtual memory used by the process.
Work set (MB):進程占用的物理內存。
Priority:操作系統基于優先級為進程分配的數字,代表進程優先級
Page faults/s:每秒頁缺失數量,不支持 LINUX\UNIX。
Handles:用于該進程的句柄數量(The number of handles used for this process)。不 支持 LINUX\UNIX
系統。
Threads:用于該進程的線程數量,不支持 LINUX\UNIX系統。
Start time:進程開啟的時間。
% Processor:進程占用的 CPU時間百分比。
5) OS Drilldown error
Windows
查看 OS Drilldown時,如果發生錯誤,可能是沒有讀取數據庫所在操作系統注冊表的權限導致.
Linux\Unix
Spotlight會使用 REXEC、SSH協議來執行各種 UNIX命令(比如 netstat,vmstat,iostat,sar)來分
析操作系統活動。所以,要確保這些 REXEC等在標準路徑 path中。
更多內容查看官網文檔
?