性能测试工具

完整的后端性能测试应该包括性能需求获取、性能场景设计、性能测试脚本开发、性能场景实现、性能测试执行、性能结果报告分析、性能优化和再验证

后端性能测试工具主要在性能测试脚本开发、性能场景实现、性能测试执行这三个步骤中发 挥作用,而其他环节都要依靠性能测试工程师的专业知识完成

使用性能测试工具获得性能测试报告只是性能测试过程中的一个必要步骤而已,而得出 报告的目的是让性能测试工程师去做进一步的分析,以得出最终结论,并给出性能优化的措施

性能测试的执行,往往需要同时模拟大 量的并发用户,不仅需要验证业务功能是否成功完成,还要收集各种性能监控指标,会涉及到压力产生 器、并发用户调度控制、实时监控收集等内容

后端性能测试工具会以多线程或多进程的方式并发执行虚拟用户 脚本,来模拟大量并发用户的同时访问,从而对服务器施加测试负载

压力产生器:实际发起测试负载的机器,受限于CPU、内存,以及网络带宽等硬件资源,一台压力产生器能够承载的虚拟用户数量是有限的,当需要发起的并发用户数量超过了单台压力产 生器能够提供的极限时,就需要引入多台压力产生器合作发起需要的测试负载

压力控制器:专门统一管理与协调压力产生器,会根据性能测试场景的设计,来控制和协调多台压力产生器 上的多线程或多进程执行的虚拟用户脚本,最终模拟出性能测试场景中的测试负载

在施加测试负载的整个过程中,后端性能测试工具除了需要监控和收集被测系统的各种性能数据 以外,还需要监控被测系统各个服务器的各种软硬件资源.比如,后端性能测试工具需要监控应用服务 器、数据库服务器、消息队列服务器、缓存服务器等各种资源的占用率。我们通常把完成监控和数据收 集的模块称为系统监控器

系统监控器的数据显示界面是性能测试工程师最密切关注的部分,性能测试工 程师会根据实时的数据显示来判断测试负载情况下的系统健康状况

测试执行完成后,后端性能测试工具会将系统监控器收集的所有信息汇总为完整测试报告,后端性能测试工具通常能够基于该报告生成各类指标的各种图表,还能将多个指标关联在一起进行综合分析来找出各个指标之间的关联性。我们把完成这部分工作的模块称为测试结果分析器,测试结果分析器只是按需提供多种不同维度和表现形式的数据展现工作,而对数据的分 析工作,还是要依赖于具有丰富经验的性能测试工程师

性能测试场景设计

目的是要描述性能测试过程中所有与测试负载以及监控相关的内容,主要会涉及以下部分:

  • 并发用户数
  • 测试刚开始时,以什么样的速率来添加并发用户
  • 达到最大并发用户数后持续多长时间
  • 测试结束时,以什么样的速率来减少并发用户
  • 需要包含哪些业务操作,各个业务操作的占比是多少
  • 一轮虚拟用户脚本执行结束后,需要等待多长时间开始下一次执行
  • 同一虚拟用户脚本中,各个操作之间的等待时间是多少
  • 需要监控哪些被测服务器的哪些指标
  • 脚本出错时的处理方式是什么
  • 需要使用多少台压力产生器

业内主流的后端性能测试工具

LoadRunner、JMeter、NeoLoad等

文章链接 https://fangzongzhou.github.io/2021/01/10/计算机/软件测试/性能测试/性能测试工具/