性能测试

性能测试的必要性:

  • 在分布式应用中用户数量是不确定的,用户使用的场景也是不确定的,用户少可能没问题,但是用户多了,就可能会有各种各样的问题
  • 我们要模拟用户数量增加的状态,给系统加负载,然后进行性能测试,从而判断[并发用户数量],[CPU],[内存],[硬盘I/O]
  • 三个重要的指标[用户多并发][稳定性][响应速度]

性能测试的指标有哪些:

  • 响应快慢(服务端的处理速度)
  • 服务端资源的使用状况(CPU,内存,数据库)
  • 最大用户访问数量
  • 同时处理的业务(请求)数量
  • 系统稳定性
  • 资源可否被正常回收(cpu,线程等)
  • 系统的可恢复性

性能测试的内容:

  • 性能测试:系统的响应,资源利用,稳定性和可恢复性
  • 负载测试:测试不同用户数下,性能指标的变化,得出一个满足性能指标的最大负载
  • 压力测试:高压状态下用户多并发的测试,关注系统时怎么崩溃的:CPU无响应,内存泄漏,数据库无反应,网络拥塞,在什么负载下,系统会失效,依次获得最大服务级别
  • 容量测试:系统最大支撑的相关数量,数据库最大数量,用户数量最大
  • 并发测试:多用户同时访问,模块数据,查看对资源的争夺情况和死锁的发生
  • 可靠性:给系统加负载,查看系统长时间稳定运行的状况
  • 失败测试:检测系统发生故障时,用户可否正确使用

性能测试的具体指标

  • QPS(TPS):每秒可以处理多少请求
  • 响应时间:请求的处理时间
  • 并发数:某一时间点,服务器正在处理的请求数
  • 吞吐量:在一次测试过程中,网络上上传数据量的综合,和负载和压力有关(QPS)
  • 最大并发量:寻找最大并发的过程

一次完整的性能测试:

  • 定义一个响应时间,以及成功率
  • 在这样一个性能指标之下,找到最高的吞吐量——负载测试
  • 在高吞吐量下做压力测试,查看系统什么时候失效——压力测试
  • 找到极限值:100%成功率,坚持10分钟的吞吐量
  • 最后进行稳定性测试
原文地址:https://www.cnblogs.com/canaan233/p/13721016.html