文章目录
一、常见的性能测试
系统内部以及软件的代码实现
- 资源泄漏,包括内存泄漏。
- CPU使用率达到100%,系统被锁定等。
- 线程死锁,阻塞等造成系统越来越慢。
- 查询速度慢,或者列表的效率低。
- 受外部系统影响越来越大
二、为什么要进行性能测试
获取系统性能的指标,作为性能指标的基准
验证系统的性能指标是否达到要求(性能需求)
- 应用程序是否能够满足系统要求的各中性能指标
- 应用程序是否能处理预期的用户负载并有盈余能力
- 应用程序是否能处理业务所需要的事务数量
- 在预期和非预期的用户负载下,应用程序是否稳定
- 是否能确保用户在真正使用软件时获得舒服的体验
发现系统的性能瓶颈,内存泄漏等问题。
系统正常工作的情况下的最大容量。
帮助系统运维部门能更好的规划硬件配置
三、性能测试实施的流程
分析性能测试需求
根据性能测试的目标,设计性能测试的场景
开发性能测试场景和性能测试脚本
分析性能测试报告
根据性能测试报告排查和定能系统的性能瓶颈
(一)如何确定性能测试的需求
1.关键性能指标分析
从以下两个方面去确定系统性能测试的需求。
在进行性能测试需求之前,一定要清楚的知道系统的性能需求,不能过于简单或者过于模糊的描述性能需求,系统性能的需求必须通过具体数据进行量化,也就是人们常说的性能指标。性能指标一旦量化,就可以度量,才具备可测试性(可验证性),即能确认系统的性能指标是否符合设计的要求,是否符合客户的需求。
2.关键业务分析
系统如果出现问题,看似整个系统无法正常运行,实际往往是因为系统运行时某一个环节出了问题,系统的性能问题也是一样,如果在某一些业务功能上不出现性能问题,那么系统就不会出现性能问题,而这些业务功能就是系统性能测试的关键业务所在。
(二)常见的性能指标
确定了系统的关键业务之后,我们进行性能测试要关注这些业务功能的哪一些指标呢?
- 系统/事务的平均响应时间
- 事务处理效率TPS(Transaction Per Second)
- 吞吐率
- 每秒点击次数(Hits Per Second)
- 服务器资源占用情况,内存和CPU使用率
- 软、硬件配置是否合适(容量规划/硬件选型)
三、性能测试定义
性能测试是一项综合性的工作,致力于暴露性能问题,评估系统性能趋势。性能测试工作实质上是利用工具去模拟大量用户操作来验证系统能够承受的负载情况,找出潜在的性能问题分析并解决;找出系统性能变化趋势,为后续的扩展做准备。
一般地,它主要是针对系统的性能指标制定性能测试方案,执行测试用例,得出测试结果来验证系统的性能指标是否满足既定值。性能指标里包括系统各个方面的能力,如系统并发处理能力,系统响应时间,批量业务处理能力等等。
四、性能测试关键指标
(一)并发用户数
并发用户会对系统造成压力,首先对系统用户数,在线用户数,并发用户数做一个区分。
系统用户数:简单地说就是该系统的注册用户数。例如,BestTest论坛里存在6666个注册用户,他们可以是活跃的,也可以是僵尸的。
业务层面的并发用户数:指的是同时向服务器发送请求的用户数量。
后端服务器层面的并发用户数:指的是同时向服务器发送请求的请求数量。