JMeter压测时跑一会聚合报告就不动了

2024-02-01 08:59

本文主要是介绍JMeter压测时跑一会聚合报告就不动了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最困难的事情就是认识自己!
个人网站 ,欢迎访问!

前言:

最近,使用 JMeter 对项目进行压力测试;起初, JMeter 设置的并发线程数只是10个,然后在进行压力测试时,发现跑了一会后 JMeter 聚合报告 中的中数字全部不动了(像卡死了一样);

上面简单描述了本文要说的问题;下面将主要从两方面来进行聊。

①、具体问题描述

②、具体的排查思路

问题详述:

项目部署情况: 提供服务接口的项目 + Tomcat + Oracle

提供服务接口的项目:接口中包含很多的数据库查询、更新、新增操作;

部署项目的应用服务器: Tomcat

连接的关系数据库: Oracle

数据源配置 : 在Tomcat中的 context.xml 中配置数据源,连接池使用的是 Druid;

根据上面的部署情况, 然后使用 JMeter 进行压测,就出现了文中一开头说的问题,如下图:

问题排查:

下面会简单的描述下此问题的排查过程,让大家在面对这种问题时,可以有一些思路。

鉴于本人水平有限,如有问题敬请提出。

1、查看 JMeter 结果树:

首先看下 JMeter 结果树 中是否存在错误的日志,如果存在,然后看看是什么问题,具体进行解决;

但是,本文遇到这个问题时,发现结果树中并没有输出错误日志,说明请求接口时未出现问题;

2、服务端排查:

因为 JMeter 结果树中未展示出错误的内容,说明此时程序是正常运行着;

然后查看服务端日志,发现没有出现任何 异常 日志;

看到这,就发现怪异之处了,服务端也没有报任何错误,那问题到底出在哪里呢?

别着急,还得去看 JMeter 的聚合报告去,通过聚合报告可以发现一些问题,就是聚合报告中 请求接口的平均响应时间太长了,高达 2 秒多,这个不正常呀,但是代码逻辑确保是没有任何问题的;

噢,对了,接口中存在很多数据库操作,是不是数据库出现了问题,导致数据库操作比较耗时呢;通过查看数据库服务发现是正常的;那是不是连接数不够用了呢? 嗯嗯,那来看下具体数据源的配置信息:

通过查看 数据源 的配置信息发现,Druid 连接池没有配置 最大连接数 以及最小连接数等 ;要知道 druid默认的最大连接数是 8 ,然后咱再去使用命令查询下当前数据库的连接数: netstat -pan | grep 1521 | wc -l ,发现连接数是 8,说明当前压测时,连接数已经到达了最大值;由于连接不够用,导致程序中进行 JDBC 数据库操作时需要等待可用连接,所以说非常耗时,响应时间就慢了,进而导致大量到达 Tomcat的请求得不到及时的处理,最终导致 JMeter 像卡死一样。

解决方式:在数据源配置中添加上 最大连接数等 ;完整数据源配置如下:

最大连接数设置为了 maxActive=“300” ; 最小连接数设置为了 minIdle=“50” 。

<Resource name="jdbc/testdemo"type="javax.sql.DataSource"factory="com.alibaba.druid.pool.DruidDataSourceFactory"url="jdbc:oracle:thin:@192.168.3.125:1521:ora11g"driverClassName="oracle.jdbc.driver.OracleDriver"username="root"password="root"auth="Container"initialSize="30"maxActive="300"minIdle="50"maxWait="30000"timeBetweenEvictionRunsMillis="30000"minEvictableIdleTimeMillis="600000"maxEvictableIdleTimeMillis="900000"poolPreparedStatements="true"maxOpenPreparedStatements="20"validationQuery="select 1 from dual"testOnBorrow="false"testOnReturn="false"testWhileIdle="true"filters="wall,stat,log4j2"/>

总结:

在项目进行压测前,一定记得需要结合当前机器的配置,以及制定的压测计划对一些参数进行优化;下面简单的说几方面,如果有不同见解,大家可以评论补充;例如:

①、如果 JMeter 设置的并发数比较大的话,需要将 Tomcat 的 连接器参数 进行优化一下,否则可能会出现请求处理超时,没有更多的线程去处理连接请求;

②、还有需要对 Tomcat 进行 JVM 参数调试,根据当前机器的硬件配置进行合理的 JVM 参数设置;

③、最后,特别重要的是 连接池 的配置,例如 :数据库连接池、redis连接池等,进行合理的大小配置;

不要忘记留下你学习的足迹 [点赞 + 收藏 + 评论]嘿嘿ヾ

一切看文章不点赞都是“耍流氓”,嘿嘿ヾ(◍°∇°◍)ノ゙!开个玩笑,动一动你的小手,点赞就完事了,你每个人出一份力量(点赞 + 评论)就会让更多的学习者加入进来!非常感谢! ̄ω ̄=

个人原创Java技术文公众号,欢迎大家关注;关注后如果 不香 ,来捶我啊!嘿嘿。。。。。。

这篇关于JMeter压测时跑一会聚合报告就不动了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/666758

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目

开题报告中的研究方法设计:AI能帮你做什么?

AIPaperGPT,论文写作神器~ https://www.aipapergpt.com/ 大家都准备开题报告了吗?研究方法部分是不是已经让你头疼到抓狂? 别急,这可是大多数人都会遇到的难题!尤其是研究方法设计这一块,选定性还是定量,怎么搞才能符合老师的要求? 每次到这儿,头脑一片空白。 好消息是,现在AI工具火得一塌糊涂,比如ChatGPT,居然能帮你在研究方法这块儿上出点主意。是不

【干货分享】基于SSM的体育场管理系统的开题报告(附源码下载地址)

中秋送好礼 中秋佳节将至,祝福大家中秋快乐,阖家幸福。本期免费分享毕业设计作品:《基于SSM的体育场管理系统》。 基于SSM的体育场管理系统的开题报告 一、课题背景与意义 随着全民健身理念的深入人心,体育场已成为广大师生和社区居民进行体育锻炼的重要场所。然而,传统的体育场管理方式存在诸多问题,如资源分配不均、预约流程繁琐、数据统计不准确等,严重影响了体育场的使用效率和用户体验。

ElasticSearch的DSL查询⑤(ES数据聚合、DSL语法数据聚合、RestClient数据聚合)

目录 一、数据聚合 1.1 DSL实现聚合 1.1.1 Bucket聚合  1.1.2 带条件聚合 1.1.3 Metric聚合 1.1.4 总结 2.1 RestClient实现聚合 2.1.1 Bucket聚合 2.1.2 带条件聚合 2.2.3 Metric聚合 一、数据聚合 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如:

jmeter之仅一次控制器

仅一次控制器作用: 不管线程组设置多少次循环,它下面的组件都只会执行一次 Tips:很多情况下需要登录才能访问其他接口,比如:商品列表、添加商品到购物车、购物车列表等,在多场景下,登录只需要1次,我们期望的是重复执行登陆后面的接口来做压测,这就和事务相关,例如 事务1: 登录—>添加购物车 事务2: 登录—>购物车列表 事务3: 登录—>商品列表—>添加购物车 … 一、仅一次控制器案例 在

七、Maven继承和聚合关系、及Maven的仓库及查找顺序

1.继承   2.聚合   3.Maven的仓库及查找顺序

性能测试工具 wrk,ab,locust,Jmeter 压测结果比较

前言 在开发服务端软件时,经常需要进行性能测试,一般我采用手写性能测试代码的方式进行测试,那有什么现成的好的性能测试工具吗? 性能测试工具 wrk,ab,locust,Jmeter 压测结果比较 详见: 性能测试工具 wrk,ab,locust,Jmeter 压测结果比较 Jmeter性能测试 入门