1、性能测试指标:多、快、好、省、思考时间
多:并发量;
快:时延、响应时间;
好:稳定性(长时间运行);
省:资源使用率;
思考时间:更贴合于实际场景(更像人);
2、响应时间:对请求做出响应所需要的时间,是用户感知软件性能的主要指标。
响应时间多少合理?
对于一个Web系统,普遍接受的响应时间标准2/5/8秒,对应用户感官非常的好/可以接受/上限。
3、用户数的概念
3.1 系统用户数:软件系统注册的用户数,其对性能影响不大,主要影响磁盘空间和内存等读取和存储性能,故一定要初始化环境!构造与现场尽量相同的基础用户数据。也就是没有经过初始化的性能环境 == 没有作用的环境。
3.2 在线用户数:某段时间访问的用户数,这些用户只是在线不一定同时做某一件事情。
3.2 并发用户数:某一个时间同时向软件系统提交请求的用户数。注意这里的请求可以相同也可以不同,具体场景具体分析。在确定并发用户数之前,必须先对用户业务进行分解,分析其中的典型场景(用户最常用,最关注的操作),
然后基于场景获得其并发用户数。
平均并发用户数计算:C = nL/T
C:是平均的并发用户数。
n:是平均每天访问用户数(login session)。
L:是一天内用户从登录到退出的平均时间(login session 的平均时间)。
T:是考察时间长度(一天内多长时间有用户使用系统)。
并发用户数峰值计算:Max C 约等于 C + 3 * 根号C
4、吞吐量:指单位时间内系统处理用户的请求数。 吞吐率:每秒事务数。
5、Think Time:从业务角度来看,这个时间指用户进行操作时每个请求之间的时间间隔。在做性能测试时,为了模拟这样的间隔,引入了思考时间这个概念,来更加真实的模拟用户的操作。
<<重要>>环境初始化:
1、构建网络延时,模拟现实中的网络演示——Linux系统注入网络延时。
2、数据准备,数据库中准备足够的数据,模拟现实中的数据库数据量——可以复制用户数据库,或知道用户表结构构建相同表利用脚本循环插入足够数据。
3、热机(warm up),把内存占用打上去,目的是让你的系统更接近与正在运行的生产环境,还有就是让测试数据从磁盘进入内存使之后的数据查询更快!具体做法可用Jmeter 先跑一段时间别管性能,之后再开始进行压测。