性能测试QPS+TPS+事务基础知识分析
事务
就是用户某一步或几步操作的集合。不过,我们要保证它有一个完整意义。比如用户对某一个页面的一次请求,用户对某系统的一次登录,淘宝用户对商品的一次确认支付过程。这些我们都可以看作一个事务。那么如何衡量服务器对事务的处理能力。又引出一个概念----TPS
TPS和QPS
TPS
是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。
Tps即每秒处理事务数,包括了
- 1、用户请求服务器
- 2、服务器自己的内部查询等处理
- 3、服务器返回给用户
这三个过程,每秒能够完成N个这三个过程,Tps也就是3;
但是由于我们的脚本一般是这样的,一个接口就是一个线程组,所以对于事务来说,就是这一个接口的
也就是说正常的汇总报告里,只会有一个接口的tps,而不是像下面这种有多个接口
QPS
Queries Per Second,顾名思义:“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
QPS基本类似于TPS,但是不同的是,对于一个页面的一次访问,形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入QPS之中。每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准
以上就是性能测试QPS+TPS+事务基础知识分析的详细内容,更多关于性能测试的资料请关注我们其它相关文章!
相关推荐
-
sysbench对mysql压力测试的详细教程
前言 在对网站整体性能进行benchmark时,可以使用多种工具,比如大名鼎鼎的ab(Apache bench),http_load等工具.这里我们不关注他们的使用,如果你想了解,可以自行在网上找到答案. 重点来说MySQL的基准测试如何进行,也有很多种工具来供我们选择,比如mysqlslap.sysbench.Super Smack等,其中mysqlslap的使用MySQL官网给出了介绍,Super Smack是服务器压力测试强有力的工具,那么sysbench便是我们进行MySQL基准测试的很
-
数据库性能测试之sysbench工具的安装与用法详解
1.简介和安装 sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据库的性能测试.目前支持的数据库有MySQL.Oracle和PostgreSQL. 官方站点:https://github.com/akopytov/sysbench/ rpm包下载:https://packagecloud.io/akopytov/sysbench/packages/el/7/sysbench-1.0.15-1.el7.centos.x86_64.r
-
JAVA下单接口优化实战TPS性能提高10倍
概述 最近公司的下单接口有些慢,老板担心无法支撑双11,想让我优化一把,但是前提是不允许大改,因为下单接口太复杂了,如果改动太大,怕有风险.另外开发成本和测试成本也非常大.对于这种有挑战性的任务,我向来是非常喜欢的,因为在解决问题的过程中,可以学习到很多东西. 当时我只是知道下单接口慢,但是没人告诉我慢在哪里,也即是说,哪些瓶颈导致下单接口慢了.其实没人知道也没关系的,因为我们可以通过压测来找到具体的瓶颈. 下面会详细介绍一下,在本次压测中遇到的问题以及如何解决,期间用了什么工具. 用到的工具和
-
Mysql数据库的QPS和TPS的意义和计算方法
在做db基准测试的时候,qps,tps 是衡量数据库性能的关键指标.本文比较了网上的两种计算方式.先来了解一下相关概念. 概念介绍: QPS:Queries Per Second 查询量/秒,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理查询量多少的衡量标准. TPS : Transactions Per Second 是事务数/秒,是一台数据库服务器在单位时间内处理的事务的个数. 在对数据库的性能监控上经常会提到QPS和TPS这两个名词,下
-
性能测试QPS+TPS+事务基础知识分析
事务 就是用户某一步或几步操作的集合.不过,我们要保证它有一个完整意义.比如用户对某一个页面的一次请求,用户对某系统的一次登录,淘宝用户对商品的一次确认支付过程.这些我们都可以看作一个事务.那么如何衡量服务器对事务的处理能力.又引出一个概念----TPS TPS和QPS TPS 是TransactionsPerSecond的缩写,也就是事务数/秒.它是软件测试结果的测量单位.一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程.客户机在发送请求时开始计时,收到服务器响应后结束计时,以此
-
Spring事物基础知识及AOP相关陷阱分析
目录 一.事务的定义 二.事务的属性 三.Spring 事务的隔离级别 3.1 隔离级别引出的问题 3.1.1 脏读 3.1.2 不可重复读 3.1.3 幻读 3.2 隔离级别 四.Spring 事务的传播机制 五.Spring 事务的应用(声明式) 5.1 事务只读 5.1.1 应用场景 5.1.2 使用方式 5.2 事务回滚 5.2.1 使用方式 5.3 事务超时 5.3.1 使用方式 5.4 事务传播机制的使用方式 5.5 事务隔离机制的使用方式 六.Spring 声明式事务的 AOP 陷
-
PHP小白必须要知道的php基础知识(超实用)
很多人看到PHP就以为是程序员,就以为钱很多(虽然是事实),但是也要考虑下自己是不是适合这一行,知道PHP是什么吗?PHP都有什么样的功能,都能用来干嘛? PHP是什么? •PHP(PHP: Hypertext Preprocessor,超文本预处理器的缩写),是一 种被广泛应用的开放源代码的.基于服务器端的用于产生动态网页 的.可嵌入HTML中的脚本程序语言,尤其适合 WEB 开发. •当客户端向服务器的程序提出请求时,web服务器根据请求晌应对应 的页面,当页面中含有php脚本时,服务器会交
-
sql注入之必备的基础知识
什么是SQL注入(SQL Injection) 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令.在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击. mysql常用注释 # --[空格]或者是--+ /*-*/ 在注意过程中,这些注释可能都需要进行urlencode. mysql认证绕过 ;%00 ' or 1=1 # ' /*!or */
-
Java基础知识精选 你答对了几道?
没有技术深度是大多程序员的一种常态. 但是当你成为一个资深的工程师的时候,很多公司并不希望你还是那样平庸,没有深度.虽然你会纳闷,我就算有深度你们也不一定用得上呀?然而到了这个级别的人需求量并不像初中级开发那么多,公司更理性和稳妥的做法是选择有深度的人,不是吗? Integer比较 看下面这段有意思的代码,对数字比较敏感的小伙伴有没有发现异常? public static void main(String[] args) { Integer a = 128,b=128; Integer c =
-
EJB基础知识(入门必看)
什么是EJB 可移植的,可重用的,可伸缩的业务应用程序的平台 为什么选择EJB 1. 易用性, 由EJB容器提供许多的服务, 开发人员只需要关注业务本身即可 2. 集成解决方案套装, 由应用服务器提供大量服务 3. 开放的JavaEE标准 4. 广泛的厂商支持 5. 稳定, 高质量的代码基础 6. 集群, 负载均衡, 故障转移 7. 易于开发允许可重用的组件 EJB容器提供的服务 1. 集成 2. 池化 3. 线程安全 4. 状态管理(针对有状态会话bean) 5. 消息服务器(针对消息驱动be
-
Spring+SpringMVC+MyBatis深入学习及搭建(一)之MyBatis的基础知识
1.对原生态jdbc程序中问题总结 1.1 jdbc程序 需求:使用jdbc查询mysql数据库中用户表的记录 statement:向数据库中发送一个sql语句 预编译statement:好处:提高数据库性能. 预编译statement向数据库中发送一个sql语句,数据库编译sql语句,并把编译的结果保存在数据库砖的缓存中.下次再发sql时,如果sql相同,则不会再编译,直接使用缓存中的. jdbc编程步骤: 1. 加载数据库驱动 2. 创建并获取数据库链接 3. 创建jdbc statemen
-
C++基础知识实例解析(一)
今天小编和大家一起通过几个实例学习C++基础知识,下面进行实例解析: [1-1]编写一个程序,实现一个整数.长整数.浮点数和双精度数除以2的计算. [分析]这是一个典型的函数重载的程序.声明函数div()为除法函数,每个函数的功能基本都是一致的,不同的只是形式参数的类型不同而已.程序代码如下: #include <iostream> using namespace std; int division(int x){ return x/2; } long division(long x){ re
-
python 专题九 Mysql数据库编程基础知识
在Python网络爬虫中,通常是通过TXT纯文本方式存储,其实也是可以存储在数据库中的:同时在WAMP(Windows.Apache.MySQL.PHP或Python)开发网站中,也可以通过Python构建网页的,所以这篇文章主要讲述Python调用MySQL数据库相关编程知识.从以下几个方面进行讲解: 1.配置MySLQ 2.SQL语句基础知识 3.Python操作MySQL基础知识 4.Python调用MySQL示例 一. 配置MySQL 首先下载mysql-5.0.96-winx64,安装
-
正则表达式模式匹配字符串基础知识
介绍 在实际项目中有个功能的实现需要解析一些特定模式的字符串.而在已有的代码库中,在已实现的部分功能中,都是使用检测特定的字符,使用这种方法的缺点是: 逻辑上很容易出错 很容易漏掉对一些边界条件的检查 代码复杂难以理解.维护 性能差 看到代码库中有一个cpp,整个cpp两千多行代码,有个方法里,光解析字符串的就有400余行!一个个字符对比过去,真是不堪入目.而且上面很多注释都已经过期,很多代码的书写风格也各不相同,基本可以判断是过了很多人手的. 在这种情况下,基本没办法还沿着这条老路走下去,自
随机推荐
- 百度工程师讲PHP函数的实现原理及性能分析(一)
- PHP下利用header()函数设置浏览器缓存的代码
- JavaWeb中struts2实现文件上传下载功能实例解析
- Oracle中 关于数据库存储过程和存储函数的使用
- js图片延迟加载的实现方法及思路
- 怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
- PHP+Mysql+jQuery文件下载次数统计实例讲解
- 动态CSS,换肤技术
- php使用parse_str实现查询字符串解析到变量中的方法
- js创建子窗口并且回传值示例代码
- 浅谈原生JS中的延迟脚本和异步脚本
- C++基础入门教程(七):一些比较特别的基础语法总结
- Jquery attr("checked") 返回checked或undefined 获取选中失效
- jQuery+css3实现Ajax点击后动态删除功能的方法
- jQuery实现的选择商品飞入文本框动画效果完整实例
- 教你正确的IE卸载与重装方法
- 勾子程序q.dll大战!清杀方法
- Android下Activity全屏显示实现方法
- Laravel4中的Validator验证扩展用法详解
- c++函数转c#函数示例程序分享