1、响应时间
1.1 定义
对请求作出响应所需要的时间,作为用户感知软件性能的主要指标
1.2 响应时间包括
- 用户客户端呈现或感应时间
- 请求响应数据网络传输时间
- 应用服务器处理时间
- 数据库系统处理时间
ping命令可帮助测试工程时查看两台机器的网络响应时间(不包括处理时间)
1.3 响应时间多少合理?
对于一个web系统,普遍接受的响应时间标准为2/5/8秒。
- 2秒内对客户是非常友好的
- 5秒内响应客户是可以接受的
- 8秒钟是客户能接受的响应的上限
2、并发用户数
2.1 并发
2.2 并发数
- 1.系统用户数:软件系统注册是用户总数,例如下载某款APP注册总数量,系统存量用户,性能测试需要构造的环境
- 系统注册用户量第一个影响到的是磁盘空间,磁盘的满和空对系统的查询有很大影响
- 所以做系统性能测试的时候要初始化环境
- 没有经过初始化的性能测试环境是没有作用的环境
- 例如现场的用户量,环境等,假如有两千万条用户数据,你拿出100个进行测试,测出来的参数没有任何参考意义,要和现场环境进行匹配
- 失之毫厘,差值千里,很多测试没问题,上线后失败的根节所在
- 案例:A服务器 、 B服务器直连很多
如果区域问题会有网络延时 - 如何解决上述网络问题?可以找运维,运维处理方式:往Linux系统防火墙中注入延时
- 数据库:数据库dump,备份还原,如果数据保密,可以给出数据格式,进行构造,用数据库脚本模拟
- 2.在线用户数:某段视觉内访问的用户数,这些用户只是在线,不一定同时做某一件事情
- 和CPU、内存、磁盘、网络和谁有关?有关系的主要是内存,和会话web-session有关,会话是放在内存中的
- 同时在线保存用户量很大
- 性能是在木桶中挑一块短板,暴露问题是内存
- 初始化环境,warm up 热机,把内存填起来不要为空
- 热机目的 一是可以让系统接近正在运行的系统,另外一个方面还可以让系统查询更快,让内容从磁盘进入内存
- 3.并发用户数:某一个时间同时向软件系统提交请求的用户数。注意场景不一定是同一个
- 并发用户数可以分为严格并发和广义并发
- 严格并发 —所有的人在同一时刻做同一件事,例如都在同时点一个按钮,经典案例:秒杀
- 广义并发 — 不严格并发,是指A用户点击新增,B用户在点击查询,C用户在登录
并发测试一般不管是在同时操作,不是分布同时操作都会进行测试 一个Jmeter只有一个场景,测试时可以用不同的jmeter进行同时测试 案例 100个用户,25个做下单,25个做注册,25个做查询,25个做新增
在C/S 或 B/S结构的应用,系统性能主要由服务器决定,服务器在大量用户同时访问时,压力最大。
3、吞吐量
吞吐率 TPS :每秒事务数
3.1 定义
3.2 从业务角度
- 吞吐量可以用 请求数/S、页面数/S、人数/天、处理业务数/小时等单位来衡量
3.3 从网络角度
对交互式应用来说,吞吐量指标反映的是服务器承受的压力,他能够说明系统的负载能力
3.4 吞吐量估算
当没有遇到性能瓶颈的时候,吞吐量与虚拟用户数之间存在一定的联系,可以用一下公式进行计算
F = VU * R / T=100 * 1 / 5 = 20
F----为吞吐量 VU----表示虚拟用户个数 R----表示每个虚拟用户发出的请求数 T----表示性能测试所用的时间
3.5 分析
当 随着用户数增多,吞吐量成线性增长,当随着用户数增加到一定数量,吞吐量达到最大,不进行增长了,说明饱和了。 此时需要进行资源监控,查看是内存满了,磁盘满了,还是CPU等资源问题
4、资源使用率
4.1 定义
- 是描述服务器或操作系统性能的一些数据指标
- 例如 内存、CPU、磁盘等资源使用率等
5、思考时间
5.1 定义
- 从业务角度来看,这个时间是指用户进行操作时每个请求之间的时间间隔
- 在做性能测试时,为了模拟这样的时间间隔,引入了思考时间的概念,来更加真实的模拟用户的操作
总结 性能测试指标简单概括就是 多----支持最大的用户访问量,就是并发量 快----响应时间、延时:客户感知的感应时间:是端到端的(网页到服务器,不管经过几道关口,最终只是从网页到服务器两个端的响应时间) 好----持久运行、稳定性 省----资源使用率
|