01、性能测试整体认知
一、性能测试分类
1、负载测试:通过逐步加压的方法,达到既定的性能阈值的目标。阈值的设定应是小于等于某个值,如cpu使用率小于等于80%
2、压力测试:通过逐步加压的方法,使得系统的某些资源达到饱和,甚至失效的状态,简单粗暴的解释就是什么条件能把系统压崩溃。
3、并发测试:在同一时间内,多个虚拟用户同时访问同一模块、同一功能,通常的测试方法是设置集合点。
4、容量测试:通常是指数据库层面的,目标是获取数据库的最佳容量的能力。有称之为容量预估。
具体测试方法为在一定的并发用户,不同的基础数据量下,观察数据库的处理能力,即获取数据库的各项性能指标。
5、可靠性测试:又称之为稳定性测试或疲劳测试。是指系统在高压情况下,长时间的运行系统,观测运行是否稳定。如cpu使用率在80%以上,7*24小时运行,系统是否稳定。
6、异常测试:又称之为失败测试。是指系统架构方面的测试。如在负载均衡架构中,要测试宕机、节点挂掉等情况系统的反映。
二、性能测试工作流程
三、常见系统应用分层架构
四、性能测试指标定义
1、事务
2、TPS(Transcation Per Second)
每秒钟系统能够处理的事务数
3、请求响应时间
4、事务响应时间
5、并发定义
并发举例
同一操作
不同操作
6、并发用户数
同一时间内,对系统发起的并发用户数
7、吞吐量-- 默认情况下表示每秒完成的请求数(Request per Second)
计算公式:
Throughput = (number of requests) / (total time)
total time = 测试结束时间 - 测试开始时间
测试结束时间 = MAX(请求开始时间 + Elapsed Time)
测试开始时间 = MIN(请求开始时间)
8、吞吐率
吞吐率=吞吐量/单位时间
9、点击率
10、资源使用率
对不同系统资源的使用情况,如cpu、内存、io
五、性能测试需求分析
1、性能测试分析需要明确的几点:
- 明确测试指标
- 明确测试场景
2、如何进行明确
- 对于新系统需要进行同行业比较、业务预期来进行判断。
- 对于老系统而言则需要对比以往用户使用行为以及用户量来进行明确。
六、性能测试工具
常用的性能工具:
1、LoadRunner
2、Jmeter
两者之间的对比: