在做db基准测试的时候,qps,tps 是衡量数据库性能的关键指标。本文比较了网上的两种计算方式。先来了解一下相关概念。

概念介绍:

  • QPS:Queries Per Second 查询量/秒,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理查询量多少的衡量标准。
  • TPS : Transactions Per Second 是事务数/秒,是一台数据库服务器在单位时间内处理的事务的个数。

在对数据库的性能监控上经常会提到QPS和TPS这两个名词,下面就分别简单的分享一下关于MySQL数据库中的QPS和TPS的意义和计算方法。

1 QPS: 每秒Query 量,这里的QPS 是指MySQL Server 每秒执行的Query总量,计算方法如下:

Questions = SHOW GLOBAL STATUS LIKE 'Questions';Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';QPS=Questions/Uptime
Com_commit = SHOW GLOBAL STATUS LIKE 'Com_commit';Com_rollback = SHOW GLOBAL STATUS LIKE 'Com_rollback';Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';TPS=(Com_commit + Com_rollback)/Uptime

存储端的IOPS性能和主机端的IO是不同的,IOPS是指存储每秒可接受多少次主机发出的访问,主机的一次IO需要多次访问存储才可以完成。例如,主机写入一个最小的数据块,也要经过“发送写入请求、写入数据、收到写入确认”等三个步骤,也就是3个存储端访问。

IOPS的测试benchmark工具主要有Iometer, IoZone, FIO等,可以综合用于测试磁盘在不同情形下的IOPS。对于应用系统,需要首先确定数据的负载特征,然后选择合理的IOPS指标进行测量和对比分析,据此选择合适的存储介质和软件系统。

Questions 是记录了从mysqld启动以来所有的select,dml 次数包括show 命令的查询的次数。这样多少有失准确性,比如很多数据库有监控系统在运行,每5秒对数据库进行一次show 查询来获取当前数据库的状态,而这些查询就被记录到QPS,TPS统计中,造成一定的"数据污染".

如果数据库中存在比较多的myisam表,则计算还是questions 比较合适。

如果数据库中存在比较多的innodb表,则计算以com_*数据来源比较合适。

总结

更多相关文章

  1. [转]Android照相程序
  2. C#/mono开发Android应用程序入门(三)-平台的意义和思考
  3. Android应用权限及意义
  4. 关于xml文件中的一些常用标签的意义
  5. Android(安卓)Context的意义
  6. Android(安卓)APK的数字签名的作用和意义
  7. ImageView ScaleType 属性值的意义
  8. Android中ScrollView无法正常achartengine
  9. android中的SVG图像的各个属性意义

随机推荐

  1. 学习Android开发的好教程
  2. Android通过编码实现GPS开关
  3. Android P sensor对某个APP方向做旋转
  4. android 8.0、8.1 崩溃报 "Only fullscre
  5. android下对xml的解析
  6. 关于android Error:Execution failed for
  7. android 加密 解密
  8. android 开启关闭wifi服务
  9. 【Android】获取WIFI列表简单小例子
  10. 运行时报错:Invoke-customs are only supp