1、性能测试的分类
1、负载测试
通过逐步加压的方法,达到既定的性能阈值的目标。阈值的设定应该是小于等于某个值,比如CPU使用率小于等于80%。
2、压力测试
通过逐步加压的方法,使系统的某些资源达到饱和,甚至失效的状态。就是寻找把系统压崩溃的情景。
3、并发测试
同一时间内,多个虚拟用户同时访问同一模块、同一功能,通常的测试方法是设置集合点。
4、容量测试
通常是数据库层面的,目标是获取数据库最佳容量的能力,又称为容量预估。具体的测试方法是在一定的并发用户、不同的基础数据量下,观察数据库的处理能力,即获取数据库的各项性能指标。
容量测试一般是上面三种性能测试都完成后,对数据库容量进行预估,以便在业务量增加时及时调整数据库能力。
5、可靠性测试
又称为稳定测试或疲劳测试。是指系统在高压情况下,长时间运行系统是否稳定。比如CPU使用率在80%以上,7*24小时运行,系统是否稳定。最容易发现内存溢出异常。
6、异常测试
又称为失败测试。是指系统架构方面的测试,如在负载均衡架构中,要测试宕机、节点挂掉等情况系统的反应。
2、性能测试工作流程
3、常见系统应用分层架构
4、性能测试指标定义
上面的内容都是了解即可,想做性能测试接下来这些概念是必须知道的,要不然根本没法交流。
1)事务
从客户端发起一个或多个请求(这些请求组成一个完整的操作),到客户端接收到从服务器返回的响应。
注意:必须是一个完整的操作,才叫一个事务。
2)TPS(Transaction Per Second)
每秒钟系统能够处理的事务数。
注意:一个事务可能有多个请求,所以处理的事务数≠处理的请求数
3)请求响应时间
从客户端发起一个请求开始,到客户端接收到从服务器返回的响应,整个过程所耗费的时间。
4、事务响应时间
事务可能是由一个或多个请求组成的,事务响应时间主要是针对用户的角度考虑的。
5、并发
没有严格意义上的并发。并发没有先后,无论是差距是1毫秒或者1微秒,总有时间差。所以并发讲的是一个时间范围内,比如1秒内。
例如:
多用户在系统上进行同一操作:比如多用户对同一商品进行秒杀
或者 多用户在系统上进行不同操作:比如多用户对不同商品进行秒杀
6、并发用户数
同一单位时间内(1秒),对系统发起请求的用户数
7、吞吐量
一次性能测试过程中网络上传输的数据量的总和。
8、吞吐率
单位时间内网络上传输的数据量。
吞吐率 = 吞吐量 / 传输时间
9、点击率
每秒钟用户向服务器提交的请求数。
这个指标是web应用程序特有的一个指标,可以想象为每秒钟用户总共在页面上进行多少次点击动作,需要注意的是一次单击操作后,客户端有可能向服务器发送了多次请求。
10、资源使用率
对不同系统资源的使用情况,如CPU、内存、io