TPS计算规则

在MYSQL 中,TPS(Transaction Per Second)的计算方法为 (com_commit+com_rollback)/time,但com_commit和com_rollback记录的是显式事务的,因此隐式提交的事务不会被算到TPS中,如果程序未使用显示事务,即使在高并发事务下, 使用MYSQL看到的TPS也会很低。

Demo验证,分别使用存储过程显式和隐式(自动提交)1000个事务:

DELIMITER $$;
CREATE PROCEDURE USP_T2()
BEGIN
DECLARE I INT;
SET I=0;
WHILE I<1000 DO
START TRANSACTION;
UPDATE TB001 SET C1=I WHERE ID=3094;
COMMIT;
SET I=I+1;
END WHILE;
END;
$$; CREATE PROCEDURE USP_T3()
BEGIN
DECLARE I INT;
SET I=0;
WHILE I<1000 DO
UPDATE TB001 SET C1=I WHERE ID=3094;
SET I=I+1;
END WHILE;
END;
$$;
DELIMITER ;

然后使用下面语句查看事务提交数量:

SHOW GLOBAL STATUS LIKE 'com_commit' \G
SHOW GLOBAL STATUS LIKE 'com_rollback' \G
SHOW GLOBAL STATUS LIKE 'Handler_commit' \G
SHOW GLOBAL STATUS LIKE 'handler_rollback' \G

执行结果:

调用USP_T3
CALL USP_T3();
Handler_commit 的值增加2000,com_commit的值增加0 调用USP_T2
CALL USP_T2();
Handler_commit 的值增加4000,com_commit的值增加1000

MySQL Transaction--TPS计算规则的更多相关文章

  1. mysql qps tps计算

    Information from web QPS (Query per second) (每秒查询量)TPS(Transaction per second) (每秒事务量,如果是InnoDB会显示,没 ...

  2. MySQL索引选择及规则整理

    索引选择性就是结果个数与总个数的比值. 用sql语句表示为: SELECT COUNT(*) FROM table_name WHERE column_name/SELECT COUNT(*) FRO ...

  3. MySQL的性能指标计算和优化方法

    MySQL的性能指标计算和优化方法1 QPS计算(每秒查询数) 针对MyISAM引擎为主的DB mysql> show global status like 'questions';+----- ...

  4. F2工作流引擎参与者类型成员的交、并、互拆计算规则

          计算描述:计算规则指的是和其它“参与者类型成员”的之间的计算,必须求解处理人不为空的情况下才进行规则计算,各个“参与者类型成员”按序号顺序执行. 计算算法:并集(权重最低),交集(权重中) ...

  5. Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题

    Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题 表更描述: 将mysql数据库中的worktask表添加ishaspic字段. 具体操作:(1)数据库worktask表新添是否有图片字 ...

  6. css优先级计算规则

    原文:css优先级计算规则 最近面试了一些求职者,我问css优先级计算规则是怎样的?答曰ID优先级>class>元素选择器,外联样式优先级低于内联样式,内联样式优先级低于行间样式,然后就没 ...

  7. 关于html表格单元格宽度的计算规则

    * { margin: 0; padding: 0 } body { background: #fafafa } ul,li { list-style: none } h1 { margin: 20p ...

  8. Cocos2D中节点Z序的计算规则

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交 ...

  9. MySQL transaction

    MySQL transaction(数据库的事务) 数据库事务(Database Transaction),是指作为单个逻辑工作单元执行的一系列操作. 要么完全执行,要么完全地不执行. ACID 事务 ...

随机推荐

  1. RabbitMQ 设置队列的过期时间

    设置队列的过期时间非常简单,在声明队列时,设置x-expires参数即可.当队列的生存周期超时后,RabbitMQ server会自动将该队列删除. 代码如下: channel.QueueDeclar ...

  2. PHP和Mysql事物处理

    这几天做支付的时候,又用到了事物,为了方便自己以后查看,今天闲的没事就把以前的东西整理下.(其中引用别人的东西,在这里谢谢他们贡献的代码!) 一.事务处理概述: 事务:是若干事件的集合 事务处理:当所 ...

  3. Java小程序分析

    public class Helloworld { public static void main(String[] args) { System.out.println("hello wo ...

  4. Centos7安装配置MySQL5.7

    一:安装前准备: 1.1检查linux版本:cat /etc/system-release CentOS Linux release 7.6.1810 (Core) 1.2查看系统是否安装MySQL: ...

  5. 几种序列化与get、set方法的关系

    若get开头且第四个字母是大写的方法中有空指针异常时(无论有没有对应属性) 1.阿里巴巴的FastJson会出现空指针异常,证明与get开头的方法有关 2.Google的Gson不会出现异常,因为只和 ...

  6. vue2+webpack 开发环境配置

    前提条件: 1.安装node.js https://nodejs.org/en/ 下载安装合适的平台 2.安装npm 第一步:初始化项目 新建文件夹 E:\app 推荐vue项目目录结构: confi ...

  7. Oracle中从控制文件读取的视图

    Oracle中有一些数据字典视图需从控制文件中读取信息,如下所示.用户在数据库打开之前就可以访问这些视图,因为这些视图的内容存储在控制文件中. v$archived_log:归档日志信息,如大小,SC ...

  8. Git客户端的安装与配置入门

    GitLab与Git客户端的安装与配置入门,每次配置完一段时间,就忘记配置过程了,为了自己和同学们以后有所参照,特记录了本次下载和配置,其实Git就是一个版本控制系统,类似于SVN,CVS等 下载:W ...

  9. svn+http+ad域

    svn本地添加用户太麻烦了,如果公司有一百个开发人员要访问,要创建账号密码太麻烦了:所以让他们用AD域账号去登录就很方便,但是权限的管控还是在svn的本地添加(这个暂时还没办法很好的解决) 一.安装依 ...

  10. 3-log4j2之输出日志到文件

    一.添加maven依赖 <dependencies> <dependency> <groupId>org.apache.logging.log4j</grou ...