MYSQL常用的性能指标总结和归纳
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,(1) QPS(每秒Query量)QPS = Questions(or Queries) / uptimemysql> show global status like 'Question%';mysq
千家信息网最后更新 2025年01月25日MYSQL常用的性能指标总结和归纳(1) QPS(每秒Query量)
QPS = Questions(or Queries) / uptime
mysql> show global status like 'Question%';
mysql> show global status like 'uptime';
(2) TPS(每秒事务量)
TPS = (Com_commit + Com_rollback) / uptime
mysql > show global status like 'Com_commit';
mysql > show global status like 'Com_rollback';
mysql> show global status like 'uptime';
(3)key Buffer 命中率
mysql>show global status like 'key%';
key_buffer_read_hits = (1-key_reads /key_read_requests) * 100%
key_buffer_write_hits = (1-key_writes /key_write_requests) * 100%
(4)InnoDB Buffer命中率
mysql> show status like 'innodb_buffer_pool_read%';
innodb_buffer_read_hits = (1 -innodb_buffer_pool_reads / innodb_buffer_pool_read_requests) * 100%
(5)Query Cache命中率
mysql> show status like 'Qcache%';
Query_cache_hits = (Qcahce_hits /(Qcache_hits + Qcache_inserts )) * 100%;
(6)Table Cache状态量
mysql> show global status like 'open%';
比较 open_tables 与opend_tables值
(7)Thread Cache 命中率
mysql> show global status like'Thread%';
mysql> show global status like'Connections';
Thread_cache_hits = (1 - Threads_created /connections ) * 100%
(8)锁定状态
mysql> show global status like '%lock%';
Table_locks_waited/Table_locks_immediate=0.3% 如果这个比值比较大的话,说明表锁造成的阻塞比较严重
Innodb_row_lock_waits innodb行锁,太大可能是间隙锁造成的
(9)复制延时量
mysql > show slave status
查看Seconds_Behind_Master的值,如果为0,说明没有延迟
(10) Tmp Table 状况(临时表状况)
mysql > show global status like 'Created_tmp%';
Created_tmp_disk_tables/Created_tmp_tables比值最好不要超过10%,如果Created_tmp_tables值比较大,
可能是排序句子过多或者是连接句子不够优化
(11) Binlog Cache 使用状况
mysql > show global status like 'Binlog_cache%';
如果Binlog_cache_disk_use值不为0 ,可能需要调大 binlog_cache_size大小
(12) Innodb_log_waits 量
mysql > show status like'innodb_log_waits';
Innodb_log_waits值不等于0的话,表明 innodblog buffer 因为空间不足而等待
(13)open file and table
mysql> show global status like 'Open_files';
mysql> show global status like 'Open_tables';
(14) 慢查询
开启慢查询:
1).手动执行命令开启:
mysql> set global slow_query_log=on;
mysql> set global long_query_time=1;
2).编辑/etc/my.cnf,在[mysqld]域中添加:
slow_query_log= 1 # 开启慢查询
slow_query_log_file=/data/data/localhost-slow.log # 慢查询日志路径
long_query_time= 1 # 慢查询的时长
(15)全日志
查看全日志:
show global variables like 'general_log';
开启全日志:
set global general_log=on;
注意开启全日志会消耗服务器性能,一般只有在排查问题时才会短暂打开。
QPS = Questions(or Queries) / uptime
mysql> show global status like 'Question%';
mysql> show global status like 'uptime';
(2) TPS(每秒事务量)
TPS = (Com_commit + Com_rollback) / uptime
mysql > show global status like 'Com_commit';
mysql > show global status like 'Com_rollback';
mysql> show global status like 'uptime';
(3)key Buffer 命中率
mysql>show global status like 'key%';
key_buffer_read_hits = (1-key_reads /key_read_requests) * 100%
key_buffer_write_hits = (1-key_writes /key_write_requests) * 100%
(4)InnoDB Buffer命中率
mysql> show status like 'innodb_buffer_pool_read%';
innodb_buffer_read_hits = (1 -innodb_buffer_pool_reads / innodb_buffer_pool_read_requests) * 100%
(5)Query Cache命中率
mysql> show status like 'Qcache%';
Query_cache_hits = (Qcahce_hits /(Qcache_hits + Qcache_inserts )) * 100%;
(6)Table Cache状态量
mysql> show global status like 'open%';
比较 open_tables 与opend_tables值
(7)Thread Cache 命中率
mysql> show global status like'Thread%';
mysql> show global status like'Connections';
Thread_cache_hits = (1 - Threads_created /connections ) * 100%
(8)锁定状态
mysql> show global status like '%lock%';
Table_locks_waited/Table_locks_immediate=0.3% 如果这个比值比较大的话,说明表锁造成的阻塞比较严重
Innodb_row_lock_waits innodb行锁,太大可能是间隙锁造成的
(9)复制延时量
mysql > show slave status
查看Seconds_Behind_Master的值,如果为0,说明没有延迟
(10) Tmp Table 状况(临时表状况)
mysql > show global status like 'Created_tmp%';
Created_tmp_disk_tables/Created_tmp_tables比值最好不要超过10%,如果Created_tmp_tables值比较大,
可能是排序句子过多或者是连接句子不够优化
(11) Binlog Cache 使用状况
mysql > show global status like 'Binlog_cache%';
如果Binlog_cache_disk_use值不为0 ,可能需要调大 binlog_cache_size大小
(12) Innodb_log_waits 量
mysql > show status like'innodb_log_waits';
Innodb_log_waits值不等于0的话,表明 innodblog buffer 因为空间不足而等待
(13)open file and table
mysql> show global status like 'Open_files';
mysql> show global status like 'Open_tables';
(14) 慢查询
开启慢查询:
1).手动执行命令开启:
mysql> set global slow_query_log=on;
mysql> set global long_query_time=1;
2).编辑/etc/my.cnf,在[mysqld]域中添加:
slow_query_log= 1 # 开启慢查询
slow_query_log_file=/data/data/localhost-slow.log # 慢查询日志路径
long_query_time= 1 # 慢查询的时长
(15)全日志
查看全日志:
show global variables like 'general_log';
开启全日志:
set global general_log=on;
注意开启全日志会消耗服务器性能,一般只有在排查问题时才会短暂打开。
日志
查询
命中率
状况
句子
比值
状态
启全
性能
不够
事务
只有
命令
大小
手动
时长
最好
服务器
空间
路径
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
2003服务器架设
当前网络安全系数低
青浦区新能源软件开发诚信服务
谷歌数据库组合语音组
数据库 内容方案
数据库更新两个表
华润网络安全管理办法
云服务器存在哪些安全隐患
事业单位做软件开发
数据库适合联网开发
网络安全法于那天正式实施
巡更棒软件的数据库是什么
支付宝小程序网络安全
仪征网络技术
山西图腾服务器机柜
云服务器更安全方案
ipv6 如何登陆服务器管理
网络安全法党员干部
对软件开发的思考
数控系统应用软件开发
阿里服务器怎么联系
外企软件开发公司好吗
数据库搜素最近50条信息
服务周到的服务器安全防护
韩山师范学院网络安全专业
军方要求的软件开发工具
数据库怎么删除工号记录
阿里云服务器下载不了
合适的esg数据库
路由交换怎么转网络安全