文章目录
- 查看当前线程数据
- 查询连接情况
- 查询缓存相关
- 查询锁相关
- 查询增删改查执行次数
- 查询DDL创建相关
SHOW STATUS 是一个在 MySQL 中用来查看服务器运行状态的命令。它可以帮助你了解服务器的当前性能,包括连接数、表锁定、缓冲区使用情况等信息。
查看当前线程数据
show global status like ‘Thread_%’;
示例图示
活跃连接数(Threadpool_active_connections):91
活跃线程数(Threadpool_active_threads):1
空闲线程数(Threadpool_idle_threads):103
线程池是否在运行(Threadpool_running):开启(ON)
线程数(Threadpool_threads):231
等待中的线程数(Threadpool_waiting_threads):0
缓存的线程数(Threads_cached):5
连接的线程数(Threads_connected):103
创建的线程数(Threads_created):6101121
运行中的线程数(Threads_running):1
查询连接情况
show global variables like ‘%connection%’;
max_connections:同时连接客户端的最大数
max_connections 还取决于操作系统对单进程允许打开最大文件数的限制
也就是说如果操作系统限制单个进程最大可以打开100个文件
那么 max_connections 设置为200也没什么用
MySQL 的 open_files_limit 参数值是在MySQL启动时记录的操作系统对单进程打开最大文件数限制的值
可以使用
show variables like ‘open_files_limit’; 查看 open_files_limit 值
或者直接在 Linux 下通过
ulimit -n命令查看操作系统对单进程打开最大文件数限制 ( 默认为1024 )
max_user_connections 单个MySQL用户最大并发连接数
针对单个MySQL用户而言,所允许的最大并发连接数。默认值为0,表示没有限制。
查询缓存相关
查询表缓存相关
SHOW GLOBAL STATUS LIKE ‘table%cache%’
Table_open_cache_hits 表缓存命中次数
Table_open_cache_misses 表缓存未命中次数
查询锁相关
SHOW GLOBAL STATUS LIKE ‘%lock%’
Table_locks_immediate:能够立即获得表级锁的锁请求次数
Table_locks_waited:不能立即获取表级锁而需要等待的锁请求次数
Innodb_row_lock_current_waits:当前锁等待的数量
Innodb_row_lock_time:自系统启动到现在,锁定的总时间,单位:毫秒 ms。
Innodb_row_lock_time_avg:平均锁定的时间,单位:毫秒 ms。
Innodb_row_lock_time_max:最大锁定时间,单位:毫秒 ms。
Innodb_row_lock_waits:自系统启动到现在,锁等待次数,即锁定的总次数。
查询增删改查执行次数
查询select执行次数
show global status like ‘com_select%’;
查询update次数
show global status like ‘com_update%’;
查询insert次数
show global status like ‘com_insert%’;
查询delete次数
show global status like ‘com_delete%’;
查询DDL创建相关
create相关
show global status like ‘com_create%’;
Com_create_db 创建数据库个数
Com_create_index 创建索引个数
Com_create_table 创建表个数
Com_create_view 创建视图个数
Com_create_user 创建用户个数
drop相关
show global status like ‘com_create%’;
alter相关
show global status like ‘com_alter%’;