MySQL性能指标及计算方法
MySQL性能指标及计算方法
绝大多数MySQL性能指标可以通过以下两种方式获取:
(1)mysqladmin
使用mysqladmin extended-status命令获得的MySQL的性能指标,默认为累计值。如果想了解当前状态,需要进行差值计算;加上参数 --relative(-r),就可以看到各个指标的差值,配合参数--sleep(-i)就可以指定刷新的频率。
(2)Show global status
可以列出MySQL服务器运行各种状态值,累计值。
mysqladmin extended-status命令及show global status得到的指标项特别多。实际应用中,重点关注以下性能指标:
1. tps/qps
tps: Transactions Per Second,每秒事务数;
qps: Queries Per Second每秒查询数;
通常有两种方法计算tps/qps:
方法1:基于 com_commit、com_rollback 计算tps,基于 questions 计算qps。
TPS = Com_commit/s + Com_rollback/s
其中,
Com_commit /s= mysqladmin extended-status --relative --sleep=1|grep -w Com_commit
Com_rollback/s = mysqladmin extended-status --relative --sleep=1|grep -w Com_rollback
QPS 是指MySQL Server 每秒执行的Query总量,通过Questions (客户的查询数目)状态值每秒内的变化量来近似表示,所以有:
QPS = mysqladmin extended-status --relative --sleep=1|grep -w Questions
仿照上面的方法还可以得到,mysql每秒select、insert、update、delete的次数等,如:
Com_select/s = mysqladmin extended-status --relative --sleep=1|grep -w Com_select
Com_select/s:平均每秒select语句执行次数
Com_insert/s:平均每秒insert语句执行次数
Com_update/s:平均每秒update语句执行次数
Com_delete/s:平均每秒delete语句执行次数
方法2: 基于com_%计算tps ,qps
tps= Com_insert/s + Com_update/s + Com_delete/s
qps=Com_select/s + Com_insert/s + Com_update/s + Com_delete/s
2. 线程状态
threads_running:当前正处于激活状态的线程个数
threads_connected:当前连接的线程的个数
3. 流量状态
Bytes_received/s:平均每秒从所有客户端接收到的字节数,单位KB
Bytes_sent/s:平均每秒发送给所有客户端的字节数,单位KB
4. innodb文件读写次数
innodb_data_reads:innodb平均每秒从文件中读取的次数
innodb_data_writes:innodb平均每秒从文件中写入的次数
innodb_data_fsyncs:innodb平均每秒进行fsync()操作的次数
5. innodb读写量
innodb_data_read:innodb平均每秒钟读取的数据量,单位为KB
innodb_data_written:innodb平均每秒钟写入的数据量,单位为KB
6. innodb缓冲池状态
innodb_buffer_pool_reads: 平均每秒从物理磁盘读取页的次数
innodb_buffer_pool_read_requests: 平均每秒从innodb缓冲池的读次数(逻辑读请求数)
innodb_buffer_pool_write_requests: 平均每秒向innodb缓冲池的写次数
innodb_buffer_pool_pages_dirty: 平均每秒innodb缓存池中脏页的数目
innodb_buffer_pool_pages_flushed: 平均每秒innodb缓存池中刷新页请求的数目
innodb缓冲池的读命中率 innodb_buffer_read_hit_ratio = ( 1 - Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests) * 100
Innodb缓冲池的利用率
Innodb_buffer_usage = ( 1 - Innodb_buffer_pool_pages_free / Innodb_buffer_pool_pages_total) * 100
7. innodb日志
innodb_os_log_fsyncs: 平均每秒向日志文件完成的fsync()写数量
innodb_os_log_written: 平均每秒写入日志文件的字节数
innodb_log_writes: 平均每秒向日志文件的物理写次数
innodb_log_write_requests: 平均每秒日志写请求数
8. innodb行
innodb_rows_deleted: 平均每秒从innodb表删除的行数
innodb_rows_inserted: 平均每秒从innodb表插入的行数
innodb_rows_read: 平均每秒从innodb表读取的行数
innodb_rows_updated: 平均每秒从innodb表更新的行数
innodb_row_lock_waits: 一行锁定必须等待的时间数
innodb_row_lock_time: 行锁定花费的总时间,单位毫秒
innodb_row_lock_time_avg: 行锁定的平均时间,单位毫秒
9. MyISAM读写次数
key_read_requests: MyISAM平均每秒钟从缓冲池中的读取次数
Key_write_requests: MyISAM平均每秒钟从缓冲池中的写入次数
key_reads : MyISAM平均每秒钟从硬盘上读取的次数
key_writes : MyISAM平均每秒钟从硬盘上写入的次数
10. MyISAM缓冲池
MyISAM平均每秒key buffer利用率
Key_usage_ratio =Key_blocks_used/(Key_blocks_used+Key_blocks_unused)*100
MyISAM平均每秒key buffer读命中率
Key_read_hit_ratio=(1-Key_reads/Key_read_requests)*100
MyISAM平均每秒key buffer写命中率
Key_write_hit_ratio =(1-Key_writes/Key_write_requests)*100
11. 临时表
Created_tmp_disk_tables: 服务器执行语句时在硬盘上自动创建的临时表的数量
Created_tmp_tables: 服务器执行语句时自动创建的内存中的临时表的数量
Created_tmp_disk_tables/Created_tmp_tables比值最好不要超过10%,如果Created_tmp_tables值比较大,可能是排序句子过多或者连接句子不够优化
12. 其他
slow_queries: 执行时间超过long_query_time秒的查询的个数(重要)
sort_rows: 已经排序的行数
open_files: 打开的文件的数目
open_tables: 当前打开的表的数量
select_scan: 对第一个表进行完全扫描的联接的数量
此外,还有一些性能指标不能通过mysqladmin extended-status或show global status直接得到,但是十分重要。
13. response time: 响应时间
Percona提供了tcprstat工具统计响应时间,此功能默认是关闭的,可以通过设置参数query_response_time_stats=1打开这个功能。
有两种方法查看响应时间:
(1)通过命令SHOW QUERY_RESPONSE_TIME查看响应时间统计;
(2)通过INFORMATION_SCHEMA里面的表QUERY_RESPONSE_TIME来查看。
http://www.orczhou.com/index.php/2011/09/thanks-percona-response-time-distribution/comment-page-1/(参考文章)
14. Slave delay: 备库延迟
可以在slave节点上执行show slave status\G命令,Seconds_Behind_Master项的值即为slave当前的延时量,单位秒。
转载于:https://www.cnblogs.com/cyt1153/p/6697847.html
MySQL性能指标及计算方法相关推荐
- mysql获取当前时间毫秒_MySQL性能指标及计算方法
是新朋友吗?记得先点蓝字关注我哦- 今日课程菜单 Java全栈开发 | Web前端+H5 大数据开发 | 数据分析 人工智能+Python | 人工智能+物联网 来源:小职(z_zhizuobiao ...
- MySQL性能指标TPS+QPS+IOPS压测
1.前言 今天主要介绍MySQL数据库,或者说所有数据库的三个关键性能指标TPS\QPS\IOPS 2.性能指标概览 QPS(Queries Per Second): 就是每秒的查询数,对数据库而言就 ...
- Mysql的key_len计算方法
说明 使用mysql的explain时,ken_len表示索引使用的字节数,根据这个值,就可以判断索引使用情况,特别是在组合索引的时候,判断所有的索引字段是否都被查询用到. 环境 Mysql 5.6. ...
- Mysql性能指标量化指标
1 背景 如果只是从书上看很多Mysql资料,但是没有具体场景数值支持,容易造成纸上谈兵的缺陷 2 Mysql-Sever配置 双节点 8核, 16g 3 表容量 45229130 ,可以理 ...
- 大数据实验报告总结体会_大数据挖掘流程及方法总结
是新朋友吗?记得先点蓝字关注我哦- 今日课程菜单 Java全栈开发 | Web前端+H5 大数据开发| 数据分析 人工智能+Python | 人工智能+物联网 来源:小职(z_zhizuobiao) ...
- mysql数据库最大性能_数据库Mysql性能优化
关于本文,笔者参考了一下其他博主的资料,加上个人的认知和理解,先整理如下: 在mysql数据库中,mysql key_buffer_size是对MyISAM表性能影响最大的一个参数(注意该参数对其他类 ...
- (转)使用mysqladmin ext了解MySQL运行状态
来源:http://www.jb51.net/article/48169.htm mysqladmin是MySQL一个重要的客户端,最常见的是使用它来关闭数据库,除此,该命令还可以了解MySQL运行状 ...
- zabbix icmp ping 监控主机_Zabbix监控 MySQL 性能
通过自带的 Template DB MySQL 模板监控 MySQL 性能 具体步骤: 1)创建脚本存放目录并编辑脚本 # mkdir /etc/zabbix/script # vim /etc/za ...
- linux mysql 运行状态_Linux中使用mysqladmin extended-status配合Linux命令查看MySQL运行状态...
mysqladmin是MySQL一个重要的客户端,最常见的是使用它来关闭数据库,除此,该命令还可以了解MySQL运行状态.进程信息.进程杀死等.本文介绍一下如何使用mysqladmin extende ...
最新文章
- Wordpress 更新时 不输入ftp相关信息的方法
- Vue团队核心成员开发的39行小工具 install-pkg 安装包,值得一学!
- 中添加2000坐标系_ArcGIS API for JavaScript 4.16在三维场景中以天地图为底图加载2000坐标系的倾斜摄影数据...
- Linux学习总结(41)——运维不仅仅是Linux
- 三种分布式锁 简易说说(包含前一篇提到的redis分布式锁)
- Python学习【第2篇】:基本数据类型(详解)
- JS + HTml 时钟代码实现
- PLC可编程控制器的应用
- linux中,ls -l命令显示的total的含义。
- matlab对比度拉伸,[转载][数字图像处理学习]分段线性变换函数——对比度拉伸...
- 查看oracle归档日志scn,Oracle 归档日志
- Live800:企业必修课|新时代的全渠道营销解析(上)
- ERROR: Cannot uninstall ‘filelock‘. It is a distutils installed project and thus we cannot accuratel
- 如何制作一个高转化的广告落地页(文末有福利)
- 集成友盟第三方实现QQ微信登录遇到的坑
- Springboot中使用阿里云短信验证码服务
- Matter协议与Zigbee
- Vue 中实现Video视频不可快进
- 利用samba漏洞入侵linux主机(samba低版本漏洞利用)
- 为了让师妹20分钟学会canvas,我熬夜苦肝本文外加一个小项目【❤️建议收藏❤️】
热门文章
- new失败跟踪函数_WinDbg预览时间线:调试器中的时间线可以允许用户记录跟踪
- java script this_JavaScript this 关键字
- saml java实现_java-saml
- linux nfsnobody用户,处理CentOS 5.5 x64 配置NFS服务过程中nfsnobody用户造成的问题
- 栈的应用--数制转换
- c语言 sqlite_SQLite与C语言
- java enummap_Java EnumMap size()方法与示例
- Java FileInputStream close()方法与示例
- java timezone_Java TimeZone inDaylightTime()方法及示例
- bst 删除节点_C ++程序查找具有N个节点的BST数量(加泰罗尼亚编号)