性能测试Ⅱ(压力测试与负载测试详解)

这篇具有很好参考价值的文章主要介绍了性能测试Ⅱ(压力测试与负载测试详解)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

协议

性能理论:并发编程 ,系统调度,调度算法

监控

压力测试与负载测试的区别是什么?

负载测试

在被测系统上持续不断的增加压力,直到性能指标(响应时间等)超过预定指标或者某种资源(CPU&内存)使用已达到饱和状态。核心是找到系统的处理极限,为系统调优提供数据,从而达到了解系统性能的容量

目的:

1、验证服务被部署的系统出现资源瓶颈的时候,服务依然能够提供产品的特性

2、找到系统的最大饱和状态,或者是最大的处理极限,为系统后续的容量规划提供参考的数据

压力测试

     该方法是指系统在一定饱和状态下,具体如CPU,内存等饱和使用的情况下,系统能够处理的会话能力,以及系统是否会出现错误,比如TimeOut,OOM,OverStackExpection(堆栈异常)。压力测试的特点:

• 检查系统在处于压力情况下时应用的性能表现

• 等价于负载测试,使系统的资源处于一个瓶颈的状态(建议CPU和内存在75%以上)

• 这种方式一般用于测试系统的稳定性

稳定性:指的是系统在最大的极限下,依然能够正常的访问,不会对客户造成任何的影响。

验收负载测试

      在QA的环境模拟生产运行的业务压力和使用场景组合,测试系统的性能是否满足生产环境的性能诉求。

流量回放

获取生产环境的网络请求,拿到QA的环境执行

配置测试

      被测环境软硬件环境参数的调整,达到最优的分配原则。

JVM:CPU,内存

MySQL:连接数,超时参数

操作系统监控:CPU和内存 使用率达到多少的时候触发报警机制

达到一个好的系统的表现:服务在客户端高并发的情况下依然能够正常的为客户提供业务的能力和服务

并发测试

       模拟用户的并发访问,测试多用户并发访问同一个应用时是否存在死锁或者其他的问题,并发测试的特点是:

• 发现系统中可能隐藏的并发访问(线程同步和死锁)的问题

• 关注系统可能存在的并发问题,如内存泄露,线程锁,资源争用(调度算法)情况

• 使用的测试工具如profiler等

 

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

高并发情况下

1、线程同步

2、死锁

业务:文件读写的时候特别容易发生

死锁:

A和B两个,为了保持线程同步,那么A操作B的时候,锁定B,B操作A的时候,锁定A。

线程同步:

A和B两个任务,有100张车票,A和B同时进行抢购,各抢100张

可靠性测试给系统加载一定的业务压力,让应用持续运行一段时间,测试系统在这种条件下是否能稳定运行。

稳定性测试:系统在持续运行很长的一段时间后依然能稳定的运行。

JMeter执⾏原理

      JMerer通过线程组来驱动多个(也可以理解为LR⼯具⾥⾯的虚拟⽤户)运⾏测试脚本对⽬标服务器发起⼤量的⽹络请 求,在每个客户端上可以运⾏多个线程组,也就是说⼀个测试计划⾥⾯可以包含N个线程组。

继续

如果有⼀个请求错误,其他的请求会继续,不会因为有⼀个请求错误的导致其他请求终⽌。

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

 

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

启动下⼀个进程循环

如果请求出现问题,同⼀脚本中的其他请求就都不再执⾏,直接执⾏下⼀个进程的信息。如登录后下⼀个请求是查 看个⼈主⻚,但是因为登录出错,下个接⼝查看个⼈主⻚就不会被执⾏。

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

 

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

停⽌线程

停⽌线程指的是如果请求失败,就停⽌当前线程执⾏,不再继续执⾏。如果线程数很多的,那么导致的结果是停⽌ 的线程就会很多,处于真正运⾏的线程会很少,最后导致服务器的负载不够,⼀般不建议构选改选项。

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

 

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

停⽌测试

如果请求失败,那么停⽌所有线程执⾏,也就是说停⽌整个测试。

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

 

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

⽴即停⽌测试

如果请求失败,⽴即停⽌整个测试场景的执⾏。

线程数

⼀个线程可以理解为对应模拟⼀个⽤户,所以线程数越多,那么也就认为可以模拟的⽤户数越多。

Ramp-Up时间(秒)

该属性指的是所有线程从启动到开始运⾏的时间间隔,单位是秒,也就是说所有线程在多⻓时间内开始执⾏,如线 程数设置50,设置的时间为5秒,那么计算的公式为:

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

循环次数

循环次数可以理解为,请求的重复次数。如果选择“永远”,那么请求将⼀直进⾏,不建议这样操作。

调度器

所谓调度器可以理解为设置何时开始运⾏。

持续时间

测试计划持续多⻓时间

启动延迟

从当前时间延迟多⻓时间开始运⾏测试,也就是说点击执⾏后,仅仅是做初始化的场景,不会执⾏测试,等待延迟 到达后开始运⾏测试,执⾏的时间为持续时间设置的时间。

总的虚拟用户数是50,每秒启动10个用户,并发测试50个用户(10秒加载完所有用户,然后同时执行)

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

聚合报告在监听器中添加

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

 

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

Label:取样器名称

Samples:取样器运⾏次数

Average:单个请求的平均响应时间

Median:50%请求的响应时间

90%Line:90%请求响应时间

95%Line:95%请求响应时间

99%Line:99%请求的响应时间

Min:请求的最⼩响应时间

Max:请求的最⼤响应时间

Std.Dev:响应时间的标准⽅差

Error%:事务错误率

Throughput:吞吐率,也就是TPS

KB/sec:每秒数据包流量

Avg.Bytes:平均数据流量

Received KB/sec:每秒从服务器端接收到的数据量

SentKB/sec:每秒从客户端发送的请求的数量

标准偏差SD:标准偏差为您提供了一定程度的稳定性,但是,只需注意,标准偏差不会显示最慢和最快的响应,而是有助于识别响应趋势。低标准偏差意味着系统内的性能更稳定或更一致。

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

响应时间图的添加

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

 

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

参数化:相同的测试步骤,不同的测试数据,那么这个时候我们把测试的数据分离到文件中,在JMeter中,是通过CSV数据文件设置来实现的。

CSV Data Set Config的添加

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

创建一个含有登录账户和密码的文件

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

在CSV中添加文件,文件编码中添加UTF-8,更改名称:username,passward,

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

再使用${uswename}和${passward}调用变量

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

再到线程组中设置线程数,也就是登录账号的数量

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

执行后会看到登录的账户

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试


资料获取方法

【留言777】

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

性能测试Ⅱ(压力测试与负载测试详解),软件测试,性能测试,jmeter,测试工具,程序人生,软件测试,软件测试工程师,性能测试

各位想获取源码等教程资料的朋友请点赞 + 评论 + 收藏,三连!

三连之后我会在评论区挨个私信发给你们~文章来源地址https://www.toymoban.com/news/detail-603213.html

到了这里,关于性能测试Ⅱ(压力测试与负载测试详解)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 压力测试+接口测试(工具jmeter),软件测试 400道面试题通关宝典助你进大厂

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新软件测试全套学习资料》

    2024年04月26日
    浏览(58)
  • 软件为什么要进行性能压力测试?

    软件为什么要进行性能压力测试?随着软件应用的不断增多和复杂度的提高,软件的性能对用户体验和业务成功至关重要。性能问题可能导致软件运行缓慢、崩溃或无响应,给用户带来不便甚至损失。为了确保软件能够在高负载和压力下正常运行,性能压力测试变得至关重要

    2024年02月13日
    浏览(56)
  • 全网最牛,JMeter性能测试步骤与结果分析(压力 / 负载测试)详全,精品太干了

    1、负载:模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行发帖 在一定软硬件环境下,通过不断加大负载(不同虚拟用户量)来确定在满足性能指标情况下能够承受的最大用户数 简单说,可以帮我们对系统进行定容 定量,找出系统性能的拐点,给予生产环境规

    2024年02月20日
    浏览(56)
  • 软件测试技能,JMeter压力测试教程,请求头部自动签名带上X-sign参数(二十二)

    接口请求 body 带有 sign 签名参数,sign 签名是根据请求 body 除去 sign 本身参数后,拼接请求参数最后 md5 加密生成的 前面一篇是把 sign 前面参数放到请求的 body 里面,这篇继续讲把签名参数放到请求头部的情况 http 请求需要进行签名校验 X-Sign,放到请求头部 Content-Type: applic

    2024年02月12日
    浏览(53)
  • 软件测试:压力测试详解

    🍅 视频学习: 文末有免费的配套视频可观看 🍅  点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 压力测试是一种软件测试,用于验证软件应用程序的稳定性和可靠性。压力测试的目标是在极其沉重的负载条件下测量软件的健壮性和错误处理能力,并确

    2024年03月11日
    浏览(47)
  • 软件测试之压力测试详解

    软件测试中:压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。 常用的压力测试软件有:LoadRunner、Apache JMeter、NeoLoad、

    2024年02月04日
    浏览(45)
  • 性能测试Ⅱ(压力测试与负载测试详解)

    协议 性能理论:并发编程 ,系统调度,调度算法 监控 压力测试与负载测试的区别是什么? 负载测试 在被测系统上持续不断的增加压力,直到性能指标(响应时间等)超过预定指标或者某种资源(CPU内存)使用已达到饱和状态。核心是找到系统的处理极限,为系统调优提供数据

    2024年02月16日
    浏览(49)
  • 软件测试(功能、接口、性能、自动化)详解

    测试用例编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。 黑盒测试常见测试用例编写方法 1、等价类 选取少数有代表性的数据,这一类

    2024年02月13日
    浏览(61)
  • 软件测试(功能、工具、接口、性能、自动化、测开)详解

    一、软件测试功能测试 测试用例编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。 黑盒测试常见测试用例编写方法 1、等价类 选取少数

    2024年02月07日
    浏览(77)
  • 什么是软件压力测试?软件压力测试工具和流程有哪些?

    软件压力测试 一、含义: 软件压力测试是一种测试应用程序性能的方法,通过模拟大量用户并发访问,测试应用程序在压力情况下的表现和响应能力。软件压力测试的目的是发现系统潜在的问题,如内存泄漏、线程锁、资源泄漏等,以及在高峰期或高负载情况下系统的响应

    2024年02月11日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包