如何做性能、压力测试

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

本期,讨论一下如何做性能、压力测试。

性能、压力测试的目的,除了作为上线或交付前的重要报告,更重要的是 :通过测试可以知道当前系统性能极限。

以一个商城系统为例,经过测试后,就能知道1小时1亿交易额的高压力场景是否能承受。

需要提前说明的是,性能测试一般只针对后端接口测试即可,页面测试一般只需要在压测过程中手动打开看一下慢不慢、正不正常即可。

性能测试一般按以下4个步骤进行 :

圈定测试范围

明确性能指标

执行测试

分析结果

圈定测试范围
虽然网站系统是一个整体, 但是一次性评估整个网站系统的性能往往是难以实现的,所以需要在测试前圈定测试范围。

性能测试一般是以一个业务板块或者一个业务场景为单位的,例如,一整个网站系统有博客、商城、直播、点播等业务板块。 那么,应该单独对每个业务板块进行性能测试,因为每个业务板块的压力并不是平均的,自然性能要求也就不一样。

选定了一个业务板块后,需要挑出重点或调用概率较高的接口, 最好能覆盖该业务板块下的所有数据表。

挑选出重点接口进行测试 ,主要是为了简化测试 ,因为业务板块的功能一般是比较庞大的 ,几百个接口是常有的事情。

另外,虽热面面具到地测试所有接口是最好的,但是由于成本等因素,性能测试往往只需要保证主体功能的性能即可,至于一些边缘功能,即使性能有问题,也不会对大多数用户造成影响。

明确性能指标
明确性能指标无非就是明确吞吐量、并发量、响应时间、错误率。

根据上一期《性能指标》的换算方法,100万用户峰值在线用户量为10万, 峰值并发量为1万,平均响应时间要求趋近500毫秒,吞吐量要求高于2万RPS ,错误率要求低于0.5%。
性能测试只测接口吗,性能,压力测试

这里的目标值最好根据行业数据或历史数据作调整,因为这样的性能目标值其实已经相当高。以商品下单为例:这样的性能指标下,每单即使是1块钱,1小时的交易额已趋近7200万,100万用户已平均花费7.2万。

这里需要注意的是:即使是同一个业务板块, 不同接口的实际压力也是存在差异的。 例如,查询商品接口的请求压力远高于下单商品的接口。

不过,为了简化性能测试 ,我们一般只要求查询接口满足目标性能指标 。至于更新、新增接口只需要满足目标性能的1/2即可。 当然,根据实际情况,部分接口的性能要求可以更低。
性能测试只测接口吗,性能,压力测试

一些情况下,生产环境是不允许性能测试的, 那么可以使用缩水版的测试环境、开发环境进行测试,但相对应的,性能指标也需要降一下 。

执行测试
明确了测试目标后就可以进行测试了, 测试工具我们推荐使用JMeter,当然其他测试工具或者公有云的压测服务也是可以的。

测试环境最好是内网环境 ,最好在测试前先测试一下网络延迟(包括内网环境)。

一般情况下,吞吐量、响应时间、错误率是测试的结果。 而并发量是测试的压力 ,如果并发量为1000 ,则需要设定测试工具启动1000个线程同时发送请求。
性能测试只测接口吗,性能,压力测试

一些测试工具是可以设置并发量和在线用户量的,如果没有在线用户量的设置 ,只设置并发量即可。

另外,测试时,测试工具需要梯度提升并发量压力, 如从100、500、1000、2000、5000的梯度上升。这样,除了能模拟真实情况的压力提升过程,也可以让服务器充分预热, 避免出现不具备参考意义的测试结果。

但是这只是针对普通情况,如果是限时活动、抢购等场景则不能让压力梯度上升, 因为此类场景的压力就是断崖式上升的,应该尽量模拟真实情况。

至于测试的时间,如果是压力、性能测试 ,每个接口都需要单独测试 ,也可以根据业务场景组成接口作为一个测试单元, 每个测试单元的峰值压力需要保持5分钟以上。

如果是稳定性测试 ,则按比例随机调用接口 ,并保持峰值压力2小时以上, 条件允许的话 ,我们更推荐24小时。

如果是极限测试 ,我们推荐的做法是 :在目标并发量后仍然继续提高并发量 ,且每个并发量需要保持1分钟以上, 直到平均响应时间高于2秒或错误率高于1% ,则此并发量可视为极限压力。

另外,性能测试结果与数据量一般是相关联的 ,所以性能测试时 ,需要往数据库填充一定的数据量, 一般的填充量为1万行、10万行、100万行、500万行等。 根据预测、历史数据填充相近的数据量即可。

性能测试期间 ,每台服务器的物理资源使用情况也需要记录 。如最大CPU、内存、带宽使用率等 。

在峰值压力下,这些物理资源的使用率一般要求在80%以下,这是为了预留一些压力空间,另外现在的服务器一般是虚机或容器,一些时候物理资源的上限实际是不足面版值的。性能测试期间,不要忘了手动打开页面或操作APP 看一下功能是否正常、响应是否缓慢。

分析结果
测试结果应该由2部分组成,只有这两个都达标,才算满足性能。

一是压测的结果,性能指标的测试结果;

二是测试过程中,服务器的附载情况。

性能测试只测接口吗,性能,压力测试

总结
性能测试可量化系统的性能,结合业务增长预测,即可提前扩展好服务器,而非出现明显缓慢或各种崩溃时再手忙脚乱地扩展。文章来源地址https://www.toymoban.com/news/detail-679476.html

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

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

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

相关文章

  • 【性能测试入门】:压力测试概念!

    压力测试可以验证软件应用程序的稳定性和可靠性。压力测试的目标是评估软件在极端负载条件下的鲁棒性和错误处理能力,并确保软件在紧急情况下不会崩溃。它甚至可以进行超出软件正常工作条件的测试,并评估软件在极端条件下的工作方式。 在软件工程中,压力测试也

    2024年02月02日
    浏览(58)
  • 性能测试之压力测试

    压力测试考察当前软硬件条件下系统所能承受的最大负荷并找到系统瓶颈所在。压测是为了系统在线上的处理能力和稳定性维持在一个范围内。 压力测试可以帮助我们找到寻常测试难以找到的: 内存泄漏、并发与同步 。 响应时间: 用户发送请求,到客户端接收服务器端的

    2024年02月08日
    浏览(40)
  • 性能测试——压力测试指标

    目录 背景 什么是TPS 性能测试的指标是怎么来的呢? 怎么通过业务量来计算TPS多少合适呢? 相关总结 ​🎁更多干货 完整版文档下载方式: 先说结论 一般推荐,如果你: 没啥人用的服务 tps 20,返回有300ms就行了 十万到百万级的服务,响应能达到tps50 /200ms就可以了 后台服务

    2024年02月03日
    浏览(45)
  • 性能测试----负载测试、压力测试、并发测试

    性能测试:检测一个软件的性能。 性能测试的指标: 响应时间:用户从请求到服务器响应的时间 吞吐量:单位时间内成功地传送数据的数量 并发数:在线并且在操作的用户数 负载测试:加负载,找到让系统崩溃的边界点。 压力测试:高负载的情况下跑,看系统稳定性。

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

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

    2024年02月16日
    浏览(51)
  • 性能测试/负载测试/压力测试之间的区别

     做测试一年多来,虽然平时的工作都能很好的完成,但最近突然发现自己在关于测试的整体知识体系上面的了解很是欠缺,所以,在工作之余也做了一些测试方面的知识的补充。不足之处,还请大家多多交流,互相学习。 现在看来,虽然平时工作中,所涉及虽然的是自动化

    2024年02月14日
    浏览(50)
  • 性能测试-压力测试-jmeter简单实战

    压力测试考察当前 软硬件环境 下系统 所能承受的最大负荷并帮助找出系统瓶颈所在 。压测都是为了系统在线上的 处理能力和稳定性维持在一个标准范围内 ,做到心中有数。 使用压力测试,我们有希望发现找到很多种其他测试方法很难发现的错误。 有两种错误类型是:内

    2024年02月10日
    浏览(45)
  • 性能测试VS负载测试VS压力测试

    性能测试     性能测试的目的不是去找bugs,而是排除系统的瓶颈,以及为以后的回归测试建立一个基准。而性能测试的操作,实际上就是一个非常小心受控的测量分析过程。在理想的情况下,被测软件在这个时候已经是足够稳定了,所以这个过程得以顺利的进行。     一组

    2024年04月10日
    浏览(38)
  • JMeter接口测试及接口登陆压力测试

    或上方链接下载 脚本: https://mp.csdn.net/mp_download/manage/download/UpDetailed 查看别的博主内容时发现了个开放的API,可以作为练习使用 https://wanandroid.com/blog/show/2 操作步骤 1.启动jmeter 2.在\\\"测试计划\\\"下添加\\\"线程组\\\" 3.在\\\"线程组\\\"下添加\\\"HTTP请求\\\"取样器 4.填写\\\"HTTP请求\\\"的相关请求数据

    2023年04月08日
    浏览(35)
  • Jmeter性能测试 —— 压力模式

    性能测试中的压力模式有两种。 第一种是并发用户模式(虚拟用户模式)并发用户是指虚拟并发用户数,从业务角度,也可以理解为同时在线的用户数。 从客户端的角度出发,摸底业务系统各节点能同时承载的在线用户数,可以使用该模式设置目标并发,也就是 Jmeter 里面的

    2024年03月27日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包