如何做压测
一.性能测试的基本理论
1.概念阐述
- 吞吐量(TPS)
- 吞吐量是指系统在单位时间内处理请求的数量。体现系统处理请求的能力,这是目前最常用的性能测试指标。
- QPS(每秒查询率)
- 官方说法QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。
- 个人更倾向于理解为系统每秒处理完请求的次数。
- 响应时间
- 响应时间是指执行一个请求从开始到最后收到响应数据所花费的总体时间。它的数值大小直接反应了系统的快慢。
- 并发数
- 并发数是指系统可以同时承载的正常使用系统功能的用户的数量,或者理解为系统同时能处理的请求数量,这个也是反应了系统的负载能力。
2.系统性能描述
在IEEE的定义中:性能是系统或组件在给定约束中实现的指定功能的程度,诸如速度、正确性、内存使用等。
所以性能测试报告中,对系统性能的描述应该是多方面的,如:执行效率、稳定性、兼容行、可靠性、可扩展性容量等;其中,执行效率通过并发用户数、响应时间、吞吐量、成功率、资源消耗综合体现。
3.并发测试
性能测试有:负载测试、压力测试、配置测试、并发测试、容量测试、稳定性测试。其中,并发测试是测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题。
在实际的压测中,我们基本上都是设置多个并发,再进行负载测试、压力测试等,因为现实中,我们的系统就是面对多个用户的同时使用,并且,并发用户的数量,直接影响着系统资源的消耗,例如cpu、mem、网络连接、带宽等。
4.如何看待并发
所谓并发,它的特点是“并行”和“同时”。
LoadRuner的并发很好理解,就是虚拟用户数。因为LR有个集合点,可以在所有虚拟用户初始化且到达集合点后,再一起执行后续操作,从而达到同时且并行的效果。但目前在后台性能测试,我们自己开发的工具大多不带集合点功能,这时候使用者对并发的理解就会有点混乱。
实际上,所有的并发不可能做到完