项目性能优化—使用JMeter压测SpringBoot项目

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

项目性能优化—使用JMeter压测SpringBoot项目

我们的压力测试架构图如下:

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

配置JMeter

在JMeter的bin目录,双击jmeter.bat

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

新建一个测试计划,并右键添加线程组:

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

进行配置

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

一共会发生4万次请求。

ctrl + s保存;

添加http请求:

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

配置http请求:

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

配置断言,来判断当前请求是否成功:

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

正常响应如下:

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

添加断言持续时间

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

添加察看结果树:

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

添加汇总报告:

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

相似的操作,也添加聚合报告:

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

相似的操作,添加图形结果:

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

相似的操作,添加汇总图:

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

发送请求测试

发送请求

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

压力测试结果解析

聚合报告

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

  • 样本(Sample):发送请求的总样本数量
  • 响应时间(RT):平均值,P90,P95,P99,Min,Max
  • 异常(Error):出现错误的百分比
  • 吞吐量(Throughput):被测试接口的吞吐能力
  • 发送与接收数据量:KB/sec

察看结果树

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

记录了样本中每一次的请求

汇总报告

类似于聚合报告。

线程组配置解析

  1. 线程数:用来发送http请求的线程数量

    • 线程组常用来模拟一组用户访问系统资源(接口)。如果接口响应速度快,就没必要使用太多线程数,如果响应慢,需要使用很多的线程,来测试接口能扛住的压力。如果客户机没有足够能力模拟较重负载,可以使用JMeter分布式压力测试。
  2. Ramp-up(in-seconds):建立全部线程耗时:

    代表隔多长时间执行,默认值是0,0代表同时并发,用于告知JMeter要在多长时间内建立全部线程。

  3. 循环次数:循环执行多少次操作

    • 循环次数直接决定整个测试单个线程的执行时间,和整体测试执行时间。
    • 单线程执行时间 = 单请求平均响应时间 * 循环次数
    • 整个测试耗时= 单线程执行时间 + (Ramp-Up - Ramp-UP / 线程数)

JMeter压测插件

Basic Graphs主要显示:

  • Average Response Time平均响应时间
  • Active Threads活动线程数
  • Successful/Failed Transactions成功/失败事务数

Additional Graphs主要显示

  • Response Codes
  • Bytes ThroughputConnect Times
  • Latency
  • Hits/s

开启插件下载

下载地址: https://jmeter-plugins.org/install/Install/,官网上下载plugins-manager.jar直接在线下载,然后执行在线下载即可。

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

下载好后放到lib\ext下;

再把JMeter重启;

可以看到插件管理器:

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

下载如下两个插件:

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

安装成功后添加如下三个监听器:

响应时间:jp@gc - Response Times Over Time

活动线程数:jp@gc - Active Threads Over Time

每秒事务数:jp@gc - Transactions per Second

项目性能优化—使用JMeter压测SpringBoot项目,项目性能优化,性能优化,jmeter

性能关键指标分析

  • TPS:每秒的事务数

    数字愈大,代表性能越好;

  • QPS:每秒的查询数量

    数字愈大,代表性能越好(1TPS >= 1QPS)

  • 吞吐量:每秒的请求数量

    数字愈大,代表性能越好文章来源地址https://www.toymoban.com/news/detail-841925.html

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

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

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

相关文章

  • Jmeter性能实战之分布式压测

    1、JMeter分布式测试时,选择其中一台作为调度机(master),其它机器作为执行机(slave)。 2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的。 3、执行完成后,slave会把结果回传给master,m

    2024年02月07日
    浏览(30)
  • 性能优化(一)JMeter使用

    jmeter 是 apache 公司基于 java 开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简 单。因为 jmeter 是 java 开发的,所以运行的时候必须先要安装 jdk 才可以。jmeter 是免安装的,拿到安装包之后直接解压就可以使用,同时它

    2024年02月13日
    浏览(26)
  • Python + Jmeter 实现自动化性能压测

    文件路径:D://wl//testproject//Fone-grpc//project1//test_client.py Python 脚本作用: 通过 grpc 调用底层 c++ 的接口,做数据库的数据插入与查询操作,然后将返回的结果进行拼接与输出。 2.代码里面将每一次调用后返回的内容进行拼接后,并做了成功信息的统计,输出成功的次数为3,输

    2024年02月09日
    浏览(22)
  • 接口性能测试 —— Jmeter并发与持续性压测

    接口压测的方式: 1、同时并发:设置线程组、执行时间、循环次数,这种方式可以控制接口请求的次数 2、持续压测:设置线程组、循环次数,勾选“永远”,调度器(持续时间),这种方式可以控制压测周期时间 指定并发数 例1:设置线程数:10设置执行时间:0设置循环次

    2024年03月20日
    浏览(30)
  • 一文3000字教你用Python + Jmeter 实现自动化性能压测

    Step01: Python脚本开发 文件路径: D://wl//testproject//Fone-grpc//project1//test_client.py Python 脚本作用: 通过 grpc 调用底层 c++ 的接口,做数据库的数据插入与查询操作,然后将返回的结果进行拼接与输出。 2. 代码里面将每一次调用后返回的内容进行拼接后,并做了成功信息的统计,输

    2024年02月02日
    浏览(35)
  • jmeter创建一个压测项目

    1.jemeter新建一个项目: 2.接下来对Thread进行描述,也可以先使用默认的Thread进行操作。 3.添加http请求头的信息。按照如图所示操作 4.在请求头里面添加必要的字段,可以只填必要字段就可以 5.添加Http请求信息,如下图,图中需要勾选的要和我这个一样,不然可能有些错误

    2024年02月13日
    浏览(28)
  • 【性能优化】一、使用JMeter进行压力测试并进行简单调优

    压力测试不同于功能测试,其目的是为了测试出系统在高并发,高数据量的情况下可能会出现的问题(内存泄露、并发、同步) 一种典型的内存泄漏就是对象在创建之后由很多用户进行调用,导致对象被不断新建但复用率很低,导致内存不足(内存泄露的典型问题) 有效的

    2024年02月03日
    浏览(34)
  • 超全整理,Jmeter性能测试-脚本error报错排查/分布式压测(详全)

    性能脚本error报错问题排查 1、脚本运行过程中报错 1)在windows系统jmeter中,给测试脚本添加查看结果树,添加保存错误日志信息 第一步,给文件取名error.xml 第二步,仅错误日志 第三步,点击配置,全部勾选 2)把linux系统中保存的error日志文件,导入到windows系统jmeter查看结

    2024年02月07日
    浏览(42)
  • jmeter压测学习-监听器之服务器性能指标监控(PerfMon Metrics Collector)

    1.官网下载插件的jar包 Plugins Manager下载地址:Install :: JMeter-Plugins.org 2. 将下载的jar包复制到 %JMETER_HOME%libext 目录下 3. 启动 JMeter -- Options -- Plugins Manager 。(如果没将jar包放在ext目录下是没有该选项的) 4. Custom Thread Groups 插件 Custom Thread Groups插件包含Stepping Thread Group、Ultimate

    2024年04月15日
    浏览(22)
  • 性能测试工具jmeter对数据库mysql进行性能测试(压测保姆级教程)

    打开mysql官网:MySQL 找到mysql connectors,选择操作系统独立版本,将下载jar包导入到jmeter的lib目录下。 参考文档:https://www.jb51.net/article/190860.htm 1、添加测试计划 2、添加JDBC request 3、添加JDBC connection configuration,并修改配置 1、Cannot create PoolableConnectionFactory (Communications link fai

    2024年02月02日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包