一句讲晒:所有的系统性能指标概括起来就是多快好省。
性能测试指标
- 多 - 并发量
- 快 - 延时、响应时间(是客户感知的感应时间,是端到端的)
- 好 - 稳定性(长时间运行)
- 省 - 资源使用率
- 思考时间 - 像个人一样思考
响应时间
对请求做出响应所需要的时间,是用户感知软件性能的主要指标。
一、响应时间包括哪些?
1.用户客户端呈现时间
2.请求/响应数据网络传输时间
3.应用服务器处理时间
4.数据库系统处理时间
二、响应时间多少合理?
对于一个 web 系统,普遍接受的响应时间标准为 2/5/8 秒。
1
2
3
2 秒钟之内:响应客户是非常好的
5 秒钟之内:响应客户是可以接受的
8 秒钟之内:客户能接受的响应的上线
并发用户数
一、用户数的概念
- 系统用户数:软件系统注册的用户总数(保证数据库里有这些真真实实的用户记录)
- 在线用户数:某段视角内访问的用户数,这些用户只是在线;不一定同时做某一件事情
- 并发用户数:某一个时间同时向软件系统提交请求的用户数;场景不一定是同一个
系统用户数的注意点:
1.系统注册用户量,第一个影响的是磁盘的空间,因为磁盘空间的满和空对系统的查询是有很大的影响的。所以在做系统性能测试的时候要 初始化环境。
2.没有经过初始化环境的性能环境等于没有作用的环境。
3.解决两地网络差异问题的方法:Linux 系统注入网络延时的方法。
4.解决数据库环境问题的方法:数据库通过 dump 过来还原环境。
在线用户数的注意点:
1.初始化环境:warn up 热机。让数据从磁盘进入到内存的过程。
并发用户数的注意点:
1.如果有人仅用一个 Jmeter 做性能测试,这是不合格的,说明只有一种场景。
二、并发相关概念
1.并发:用于从业务的角度模拟真实用户同时进行访问。
2.并发数:同时访问系统的用户数。
3.并发分为:严格并发和广义并发。
4.在 C/S 或 B/S 结构的应用,系统的性能主要由服务器决定。服务器在大量用户同时访问时,压力最大。
三、并发场景的场景
- 访问网站首页
- 登录功能
- 核心业务功能
- 个人中心
四、并发相关的计算
(1)平均并发用户数的计算:C = nL/T
- C – 平均的并发用户数
- n – 平均每天访问用户数
- L – 一天内用户从登录到退出的平均时间(login session 的平均时间)
- T – 考察时间长度(一天内多长时间有用户使用系统)
(2)并发用户数峰值计算:c^ ≈ C + 3 × √C
实例:
一个 OA 系统,该系统有 3000 个用户,平均每天大约有 400 个用户访问该系统,对一个典型用户来说,一天只在 8 小时内使用该系统,且从登录到退出该系统的平均时间为 4 小时。
解:
平均并发用户数: C = 400 × 4 / 8 = 200
并发用户峰值: C^ = 300 + 3 × √200 ≈ 342.42
吞吐量
一、吞吐量相关的概念
1.性能测试:指单位时间内系统处理用户的请求数
2.从业务角度看:吞吐量可以用 请求数/秒、页面数/秒、人数/天 或 处理业务数/小时 等单位来衡量
3.从网络角度看:吞吐量可以用 字节/秒 来衡量
4.对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,他能够说明系统的负载能力
5.TPS: 每秒事务数(吞吐率:一秒内系统处理用户的请求数)
二、吞吐量相关的计算
(一)当没有遇到性能瓶颈的时候,吞吐量与虚拟用户数之间存在一定的联系,可以采用一下公式计算:
F = VU * R / T
- F – 吞吐量
- VU – 虚拟用户个数
- R – 每个虚拟用户发出的请求数
- T – 性能测试所用的时间
实例:
采用 100 个并发,每个 VU 间隔 1 秒发出一个请求。
解:
吞吐量 F = 100 * 1 / 1 = 100
性能计数器
一、性能计数器相关的概念
性能计数器:是描述服务器或操作系统性能的一些数据指标(也就是所说的资源使用率)。比如:内存、CPU、磁盘等资源使用率等。
思考时间
一、思考时间相关的概念
思考时间:从业务角度来看,这个时间指用户进行操作时每个请求之间的时间间隔。
注意:
1.在做性能测试时,为了模拟这样的时间间隔,引入了思考时间这个概念,来更加真实的模拟用户的操作。