一、为什么要进行性能测试?
1.判断应用程序能否很快的响应用户的需求
2.判断应用程序能否处理业务所需要的事务数量
3.判断在预期和非预期的用户负载下,应用程序是否稳定
4.判断应用程序能否确保用户在使用软件时获得舒服的体验
二、性能测试指标
1.并发数
1) 系统用户数:该系统注册的用户数
2)在线用户数:登录该系统的用户数
3)并发用户数:对服务器产生压力的用户数
2.响应时间(TTLB):对请求作出的响应时间
网络传输请求的时间+服务器(一层/多层)处理的时间+网络传输响应的时间
3.事务响应时间:事务是一组密切相关的操作组合。
4.每秒事务通过数(TPS):每秒系统能够处理的事务数。它是衡量系统处理能力的重要指标。
5.点击率(HPS):用户每秒向web服务器提交的HTTP请求数。点击率越大,服务器的压力就越大(此处的点击不是鼠标的一次点击,一次点击可以有多次HTTP请求)。
6.吞吐量:单位时间内系统处理的客户请求的数量,直接体现软件系统的性能承载能力。
一般用 请求数/秒,页面数/秒 来衡量
从业务角度:访问人数/天 ,处理业务数/小时
从网络角度:字节数/天
7.思考时间:用户进行操作时,每个请求和操作之间的间隔时间
8.资源利用率:CPU,内存,磁盘,网络
三、性能测试包括的方面
执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性
四、性能测试的分类
1. 基准测试:在制定的标准下通过基准测试建立一个性能基准,这样可以较早地发现性能问题。
2.狭义性能测试:测试系统的性能能否满足生产系统要求,验证系统的能力测试
3.负载测试:在被测系统上不断增加压力,直到各项指标达到饱和。
目的:找到系统的处理极限,为系统调优提供数据
4.压力测试:测试系统在负载测试的基础上对系统进行压力测试
目的:揭露高负载下的问题(找问题)。eg:资源竞争,同步问题,内存泄漏
压力测试是通过确定一个系统的瓶颈或者不能接收的性能点来获得系统能提供的最大服务级别的测试。
5.并发测试:模拟用户的并发访问,测试多用户并发访问同一个应用,同一个模块或者数据记录时是否存在死锁或其他是性能问题。
6.配置测试:通过对被测系统的的软硬件环境的调整,了解各种不同环境对系统性能的影响。
7.可靠性测试(稳定性测试):7*24小时(测试一周,加载一定的业务压力)
8.失效恢复测试;针对有备份和负载均衡的系统设计的。
9.大数据量测试:1) 独立的数据量测试 2) 综合数据量测试