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中。
更多内容查看官网文档