性能测试基础(四)吞吐量
吞吐量
- 吞吐量
- 吞吐率
- 事务
我们每天的生活中都在用水用电,如果我们把水龙头拧到最大,还是一滴水不出。那我们就会找物业/房东去询问情况,但一般不会想过去找自来水公司解决。我们每天都会上网,看电影很卡,需要等很久才缓冲一个几帧;打开网页很慢,IE状态条一直50%,那我们就会找电信服务器商,而不是某视频网站的客服。
以上的情况是正常的,这是生活常识。我想说明的是,你可能从来不关心一个自来水厂供应多少水,但供应多少水对一个自来厂来说却非常重要。你也可能从来不关心一个系统的吞吐量,但吞吐量对一个系统来说却非常重要。
吞吐量
指在一次性能测试过程中网络上传输的数据量的总和。
对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,在容量规划的测试中,吞吐量是一个重点关注的指标,因为它能够说明系统级别的负载能力,另外,在性能调优过程中,吞吐量指标也有重要的价值。如一个大型工厂,他们的生产效率与生产速度很快,一天生产10W吨的货物,结果工厂的运输能力不行,就两辆小型三轮车一天拉2吨的货物,比喻有些夸张,但我想说明的是这个运输能力是整个系统的瓶颈。
但是,用吞吐量来衡量一个系统的输出能力是极其不准确的,用个最简单的例子说明,一个水龙头开24小时,流出10吨水;10个水龙头开1秒钟,流出0.1吨水。当然是一个水龙头的吞吐量大。你能说1个水龙头的出水能力远超10个水龙头?所以,我们要加单位时间的限制,每秒/出水量,这就引出了一个新的概念–吞吐率。
吞吐率
单位时间内网络上传输的数据量,也可以指单位时间内处理客户请求数量。它是衡量网络性能的重要指标,通常情况下,吞吐率用“字节数/秒”来衡量,当然,你可以用“请求数/秒”和“页面数/秒”来衡量。其实,不管是一个请求还是一个页面,它的本质都是在网络上传输的数据,那么来表示数据的单位就是字节数。
但是从业务的角度看,吞吐率也可以用“业务数/小时”、“访问人数/小时”、“页面访问量/小时”来衡量。例如,在银行卡审批系统中,可以用“千件/小时”来衡量系统的业务处理能力。那么,从用户的角度,一个表单提交可以得到一次审批。这又引出来一个概念—事务。
事务
就是用户某一步或几步操作的集合。不过,我们要保证它有一个完整意义。比如用户对某一个页面的一次请求,对某系统的一次登录,对商品的一次确认支付过程。这些我们都可以看作一个事务。那么如何衡量服务器对事务的处理能力。又引出一个概念----TPS
TPS (Transaction Per second)
每秒钟系统能够处理事务或交易的数量,它是衡量系统处理能力的重要指标。
点击率(Hit Per Second)
点击率可以看做是TPS的一种特定情况。点击率更能体现用户端对服务器的压力。TPS更能体现服务器对客户请求的处理能力。
每秒钟用户向Web服务器提交的HTTP请求数。这个指标是Web 应用特有的一个指标;Web应用是“请求—响应”模式,用户发一个申请,服务器就要处理一次,所以点击是Web应用能够处理的交易的最小单位。如果把每次点击定义为一个交易,点击率和TPS就是一个概念。容易看出,点击率越大。对服务器的压力也越大,点击率只是一个性能参考指标,重要的是分析点击时产生的影响。
需要注意的是,这里的点击不能简单的看作鼠标的一次“单击”操作,也许一次“单击”操作中,客户端可能向服务器发现多个HTTP请求。
吞吐量指标的作用:
再次将话题回归到吞吐量上,在我们的性能测试中查看吞吐量对我们的测试有什么意义呢。
用于协助设计性能测试场景,以及衡量性能测试场景是否达到了预期的设计目标:在设计性能测试场景时,吞吐量可被用于协助设计性能测试场景,根据估算的吞吐量数据,可以对应到测试场景的事务发生频率,事务发生次数等;另外,在测试完成后,根据实际的吞吐量可以衡量测试是否达到了预期的目标。
用于协助分析性能瓶颈:吞吐量的限制是性能瓶颈的一种重要表现形式,因此,有针对性地对吞吐量设计测试,可以协助尽快定位到性能瓶颈的所在位置。
扩展:
RBI(rapid bottleneck identify)
是Empirix公司提出的快速识别系统性能瓶颈的方法。该方法基于以下事实。
1. 发现的80%系统的性能瓶颈都由吞吐量制约;2. 并发用户数和吞吐量瓶颈之间存在一定的关联;3. 采用吞吐量测试可以更快速定位问题。
通过不断增加并发用户数和吞吐量观察系统的性能瓶颈。然后,从网络、数据库、应用服务器和代码本身4个环节确定系统的的性能瓶颈。
性能测试基础(四)吞吐量相关推荐
- 【性能学习】性能测试基础
学习链接:<性能学习实战30讲> 授课人:高楼 课程从三个部分进行阐述: 第一个模块是性能测试基础篇.在这个模块里澄清一些性能测试的基础概念,讲解一些关键部分.但并不是对概念的简单描述,而 ...
- 性能测试-基础+中级
持续更新- 标记 性能测试基础 1. 性能测试起步 1.1 性能测试的应用场景 1.2 不同的角度看性能 1.3 影响性能的因素 2. 性能测试概述 2.1 性能测试定义和分类 2.2 常用性能测试术 ...
- 性能测试知多少---吞吐量【转】
我们每天的生活中都在用水用电,我只会关心自己的水管是否有水,水压是否稳定,如果我们把水龙头拧到最大,还是一滴一滴的流水.那我们就要愤怒了,直接找房东问明情况.我们从来没想过去找自来水公司.我们每天都会 ...
- 【Loadrunner】学习loadrunner——性能测试基础篇VUG的使用(二)
文章目录 1.loadrunner初识 1.1.loadrunner是什么 1.2.loadrunner执行原理 1.3.loadrunner组成 2.Virtual User Generator(V ...
- 性能测试-基础+中级(二)【前端性能测试】
系列文章目录-性能测试 性能测试-基础+中级(一)[概述+流程+工具+模型+mysql事务] 文章目录 系列文章目录-性能测试 性能测试-基础+中级(一)[概述+流程+工具+模型+mysql事务] 7 ...
- 智能车竞赛技术报告 | 基础四轮组 - 哈尔滨工程大学 - 济海追风5队
简 介: 本文详细介绍了哈尔滨工程大学"济海追风5队"在第十六届全国大学生智能汽车竞赛基础四轮组中的系统方案.本次比赛采用大赛组委会指定的B3型车模,以英飞凌半导体公司生产的32位 ...
- Jmeter Web 性能测试入门 (四):一个小实例带你学会 Jmeter 脚本编写
测试场景: 模拟并发100个user,在TesterHome 站内搜索VV00CC 添加线程组 添加HTTP信息头管理器 添加HTTP Sampler 填写HTTP Sampler中的信息 添加监听器 ...
- mysql 连接 分组_MySQL 基础 (四) 分组查询及连接查询
MySQL 基础 (四) 分组查询及连接查询 MySQL 基础(四) 进阶 5 分组查询 语法: SELECT 分组函数, 列(要求出现在 group by 的后面) FROM 表 [where 筛选 ...
- 【RabbitMQ】基础四:路由模式(Routing)
[RabbitMQ]基础四:路由模式(Routing) 1. 路由模式说明 2. 代码示例 2.1 生产者 2.2 消费者1 2.3 消费者2 2.4 测试 3. 总结 1. 路由模式说明 路由模式特 ...
最新文章
- Qt实现拖动一个lineEdit同时拖动mainwindow
- .ascx是什么文件?
- Nginx模块之SessionSticky
- 使用Spring的NamedParameterJdbcTemplate完成DAO操作
- ZeroMQ接口函数之 :zmq - 0MQ 轻量级消息传输内核
- 云应用基础技术成熟需七年时间
- 使用devops的团队_为什么每个开发团队都应该在2019年采用DevOps文化
- puppet 认证错误:Could not request certificate: unknown message digest algorithm
- H3C OSPF实验
- 0x07 MySQL 多表查询
- Python 网络数据采集
- linux有线程的概念,Linux线程相关概念
- 李开复谈软件外包及软件安全(一)
- 性能测试案例模板 性能测试用例模板 测试案例 性能用例 模板 容我想想之性能测试系列培训...
- java返回语句_Java中return的语句
- 邮箱服务申请数字证书
- flv 文件格式详解
- adb shell网络命令nestat、ping、netcfg、ip操作实例解释
- 【质量管理】SMT电子厂超实用的六西格玛(6σ)质量管理工具一览表!
- 教你找回直接打开outlook附件文件编辑后保存但未另存为的附件文件?