性能测试指标及测试方法

发表于:2021-4-28 09:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:不要停止思考-jcn    来源:CSDN

分享:
  一、性能测试指标
  1.响应时间:发出请求到最后请求响应的时间。
  测试程序通过模拟应用程序, 记录收到响应和发出请求之间的时间差来计算系统响应时间。但是记录及获取系统时间这个操作也需要花费一定的时间, 如果测试目标操作本身需要花费的时间极少, 比如几微秒,那么测试程序就无法测试得到系统的响应时间。实践中通常采用的办法是重复请求, 比如一个请求操作重复执行一万次, 测试一万次执行需要的总响应时间之和, 然后除以一万, 得到单次请求的响应时间。
  2.并发数:同时处理请求的数目。
  与网站并发用户数相对应的还有网站在线用户数(当前登录网站的用户总数)和网站系统用户数(可能访问系统的总用户数, 对多数网站而言就是注册用户数)。其数量比较关系为:
  网站系统用户数>>网站在线用户数>>网站并发用户数
  在网站产品设计初期, 产品经理和运营人员就需要规划不同发展阶段的网站系统用户数, 并以此为基础, 根据产品特性和运营手段, 推算在线用户数和并发用户数。这些指标将成为系统非功能设计的重要依据。
  测试程序通过多线程模拟并发用户的办法来测试系统的并发处理能力, 为了真实模拟用户行为, 测试程序并不是启动多线程然后不停地发送请求, 而是在两次请求之间加入一个随机等待时间, 这个时间被称作思考时间。
  3.吞吐量:单位时间内系统处理的请求数量。
  体现系统的整体处理能力。对于网站, 可以用"请求数/秒" 或是"页面数/秒"来衡量, 也可以用"访问人数/天" 或是"处理的业务数/
  小时" 等来衡量。TPS (每秒事务数)是吞吐量的一个常用量化指标, 此外还有HPS (每秒HTTP 请求数)、QPS (每秒查询数)等。
  在系统并发数由小逐渐增大的过程中(这个过程也伴随着服务器系统资源消耗逐渐增大) , 系统吞吐量先是逐渐增加, 达到一个极限后,随着并发数的增加反而下降,达到系统崩溃点后, 系统资源耗尽, 吞吐量为零。而这个过程中, 响应时间则是先保持小幅上升,到达吞吐量极限后,快速上升, 到达系统崩溃点后,系统失去响应。
  4.性能计数器:服务器或操作系统性能的一些数据指标。
  包括System Load 、对象与线程数内存使用、CPU 使用、磁盘与网络νo 等指标。这些指标也是系统监控的重要参数, 对这些指标设置报警|萄值, 当监控系统发现性能计数器超过阔值时,就向运维和开发人员报警,及时发现处理系统异常。
  System Load 即系统负载,指当前正在被CPU 执行和等待被CPU 执行的进程数目总和,是反映系统忙闲程度的重要指标。多核CPU 的情况下, 完美情况是所有CPU 都在使用,没有进程在等待处理,所以Load 的理想值是CPU 的数目。当Load 值低于CPU 数目的时候,表示CPU 有空闲, 资源存在浪费; 当Load 值高于CPU 数目的时候, 表示进程在排队等待CPU 调度, 表示系统资源不足, 影响应用程序的执行性能。在Linux 系统中使用top 命令查看, 该值是三个浮点数, 表示最近1 分钟, 10 分钟, 15 分钟的运行队列平均进程数。
  二、性能测试方法
  1.性能测试:以系统设计初期规划的性能指标为预期目标, 对系统不断施加压力, 验证系统在资源可接受范围内,是否能达到性能预期。
  2.负载测试:对系统不断地增加并发请求以增加系统压力, 直到系统的某项或多项性能指标达到安全临界值, 如某种资源已经呈饱和状态,这时继续对系统施加压力,系统的处理能力不但不能提高,反而会下降。
  3.压力测试:超过安全负载的情况下,对系统继续施加压力,直到系统崩溃或不能再处理任何请求, 以此获得系统最大压力承受能力。
  4.稳定性测试:被测试系统在特定硬件、软件、网络环境条件下, 给系统加载一定业务压力, 使系统运行一段较长时间, 以此检测系统是否稳定。
  性能测试是一个不断对系统增加访问压力,以获得系统性能指标、最大负载能力最大压力承受能力的过程。所谓的增加访问压力, 在系统测试环境中, 就是不断增加测试程序的并发请求数。
  性能测试报告:
  三、性能优化策略
  1.性能分析
  大型网站结构复杂,用户从浏览器发出请求直到数据库完成操作事务, 中间需要经过很多环节, 如果测试或者用户报告网站响应缓'陵, 存在性能问题, 必须对请求经历的各个环节进行分析, 排查可能出现性能瓶颈的地方, 定位问题。排查一个网站的性能瓶颈和排查一个程序的性能瓶颈的手法基本相同: 检查请求处理的各个环节的日志, 分析哪个环节日向应时间不合理、超过预期; 然后检查监控数据,分析影响性能的主要因素是内存、磁盘、网络、还是CPU , 是代码问题还是架构设计不合理, 或者系统资源确实不足。
  2. 性能优化
  定位产生性能问题的具体原因后, 就需要进行性能优化, 根据网站分层架构, 可分为:
  · Web 前端性能优化
  · 应用服务器性能优化
  · 存储服务器性能优化

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号