怎么使用JMeter对代码进行压测,对比高并发优化前后的性能,单机性能都提升了25倍左右?

介绍

  • 压力测试相关概念
  • 使用JMeter对高并发优化前后的代码进行压测对比

压力测试相关概念

并发量:指在同一时间点内,系统中同时处理的用户请求数。(并发1000时,响应时间1s;并发5000时,响应时间5s,处理得慢一点,但也能处理。那么并发量到底是1000还是5000?)

响应时间:系统处理一个请求所需时间。

吞吐量:系统在给定时间内处理的业务请求数量。

QPS:系统每秒钟处理的请求数量。

TPS:系统每秒钟完成的事务数量。

吞吐量就是TPS

 上面图片就是吞吐量的控制器,可以查看可以修改参数配置,Throughput就是吞吐量

下面更直观的展示他们的关系以及数值的理解

吞吐量压测(聚合报告)

这是我在项目中请求数据购买的时候同时设置 100个线程并发时,吞吐量为430-440/sec。

那如果我没有用微服务的代码压测情况↓,响应时间(5s)和吞吐量都低

 可以看到两个图片的对比情况就可以看出来,性能提升大约25倍。

修改JVM参数再次压测

jvm内存分配2G,影响不大。

内存分配128m,影响不大。

对比下来这几张的结果图片下来发现修改了jvm的参数压测并没有改变很大的变化,吞吐量还是维持相差不大的数值

最高并发数探测

  • 增加线程数,直到出现异常
  • 增加线程数,直到响应时间超过预期(等待2s)

10000并发,电脑卡死了!有异常

 1000并发,平均时间增加,吞吐量不变。

 最高支持1000并发。

没有微服务的代码只能支持<50并发量。

单机性能都提升了25倍左右

详细可以看我的另一篇博客:http://t.csdnimg.cn/j2TBO

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JMeter是一款开源的性能测试工具,可以用于对各种类型的应用程序进行压力和性能测试,包括数据库系统。而ClickHouse是一个用于分析大规模数据的列式数据库管理系统。下面是使用JMeter对ClickHouse进行压测的一般步骤: 1. 安装JMeter:首先需要下载并安装JMeter,可以从官方网站(https://jmeter.apache.org/)上获取最新版本。 2. 创建测试计划:打开JMeter后,创建一个新的测试计划。右键点击测试计划,选择“添加”->“Threads (Users)”->“线程组”,设置线程数、循环次数等参数。 3. 添加Sampler:在线程组下添加Sampler,用于发送请求到ClickHouse。可以选择HTTP请求或者JDBC请求,具体根据你的需求来选择。 4. 配置Sampler:配置Sampler的相关参数,包括请求的URL、请求方法、请求头、请求体等。根据ClickHouse的接口文档来设置相应的参数。 5. 添加监听器:在Sampler下添加监听器,用于收集和分析测试结果。可以选择查看响应数据、查看响应时间、生成报告等。 6. 配置监听器:配置监听器的相关参数,如保存结果的文件路径、生成报告的格式等。 7. 运行测试:保存测试计划后,点击运行按钮开始执行压测JMeter会模拟多个用户同时发送请求到ClickHouse,并记录响应时间、吞吐量等性能指标。 8. 分析结果:测试完成后,可以通过监听器提供的结果数据进行分析。可以查看响应时间分布、错误率、吞吐量等指标,以评估ClickHouse的性能表现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全能技术师

相关资源在博客首页资源下获取

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值