前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用Groovy在JMeter中执行命令行

用Groovy在JMeter中执行命令行

作者头像
FunTester
发布于 2020-03-06 01:40:20
发布于 2020-03-06 01:40:20
96400
代码可运行
举报
文章被收录于专栏:FunTesterFunTester
运行总次数:0
代码可运行

前两期文章讲了一些Groovy和JMeter一些配合使用:

这次再来分享一下,Groovy在JMeter中执行命令行的方法,目前我暂时想不到很多适用场景,因为的确我对JMeter并不是很熟悉,也就这两天才开始看一些资料。如果你有很好的适用场景,可以留言告诉我,一起交流交流。

  • 首先新建一个简单的线程组和一个简单的请求:
  • 添加JSR223 预处理程序(后置处理程序需要下一次次请求)

脚本内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
log.info("jps -lv".execute().text)

"jps -lv".execute().text.eachLine{
	log.error("222222222 ${it}")
}

log.info("jmeter -v".execute().text)

控制台输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2020-03-04 15:25:56,544 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2020-03-04 15:25:56,550 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2020-03-04 15:25:56,551 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
2020-03-04 15:25:56,905 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : 线程组
2020-03-04 15:25:56,905 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group 线程组.
2020-03-04 15:25:56,906 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
2020-03-04 15:25:56,906 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
2020-03-04 15:25:56,907 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2020-03-04 15:25:56,907 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2020-03-04 15:25:56,908 INFO o.a.j.t.JMeterThread: Thread started: 线程组 1-1
2020-03-04 15:25:57,220 INFO o.a.j.m.J.JSR223 预处理程序: 48993  -Xms512m -Xmx1500m -XX:ReservedCodeCacheSize=500m -XX:+UseCompressedOops -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djdk.http.auth.tunneling.disabledSchemes="" -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Xverify:none -javaagent:/Users/fv/jetbrains-agent.jar -Djb.vmOptionsFile=/Users/fv/Library/Preferences/IntelliJIdea2018.3/idea.vmoptions -Didea.java.redist=jdk-bundled -Didea.paths.selector=IntelliJIdea2018.3 -Didea.executable=idea -Didea.home.path=/Applications/IntelliJ IDEA.app/Contents
49572 sun.tools.jps.Jps -Dapplication.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home -Xms8m
48524 ./ApacheJMeter.jar -Dapple.laf.useScreenMenuBar=true -Dapple.eawt.quitStrategy=CLOSE_ALL_WINDOWS
49053 org.jetbrains.idea.maven.server.RemoteMavenServer -Djava.awt.headless=true -Didea.version==2018.3.5 -Xmx768m -Didea.maven.embedder.version=3.3.9 -Dfile.encoding=UTF-8

2020-03-04 15:25:57,393 ERROR o.a.j.m.J.JSR223 预处理程序: 222222222 48993  -Xms512m -Xmx1500m -XX:ReservedCodeCacheSize=500m -XX:+UseCompressedOops -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djdk.http.auth.tunneling.disabledSchemes="" -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Xverify:none -javaagent:/Users/fv/jetbrains-agent.jar -Djb.vmOptionsFile=/Users/fv/Library/Preferences/IntelliJIdea2018.3/idea.vmoptions -Didea.java.redist=jdk-bundled -Didea.paths.selector=IntelliJIdea2018.3 -Didea.executable=idea -Didea.home.path=/Applications/IntelliJ IDEA.app/Contents
2020-03-04 15:25:57,393 ERROR o.a.j.m.J.JSR223 预处理程序: 222222222 49573 sun.tools.jps.Jps -Dapplication.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home -Xms8m
2020-03-04 15:25:57,393 ERROR o.a.j.m.J.JSR223 预处理程序: 222222222 48524 ./ApacheJMeter.jar -Dapple.laf.useScreenMenuBar=true -Dapple.eawt.quitStrategy=CLOSE_ALL_WINDOWS
2020-03-04 15:25:57,393 ERROR o.a.j.m.J.JSR223 预处理程序: 222222222 49053 org.jetbrains.idea.maven.server.RemoteMavenServer -Djava.awt.headless=true -Didea.version==2018.3.5 -Xmx768m -Didea.maven.embedder.version=3.3.9 -Dfile.encoding=UTF-8
2020-03-04 15:25:58,421 INFO o.a.j.m.J.JSR223 预处理程序:     _    ____   _    ____ _   _ _____       _ __  __ _____ _____ _____ ____
   / \  |  _ \ / \  / ___| | | | ____|     | |  \/  | ____|_   _| ____|  _ \
  / _ \ | |_) / _ \| |   | |_| |  _|    _  | | |\/| |  _|   | | |  _| | |_) |
 / ___ \|  __/ ___ \ |___|  _  | |___  | |_| | |  | | |___  | | | |___|  _ <
/_/   \_\_| /_/   \_\____|_| |_|_____|  \___/|_|  |_|_____| |_| |_____|_| \_\ 5.1 r1853635

Copyright (c) 1999-2019 The Apache Software Foundation


2020-03-04 15:25:58,424 INFO o.a.j.t.JMeterThread: Thread is done: 线程组 1-1
2020-03-04 15:25:58,424 INFO o.a.j.t.JMeterThread: Thread finished: 线程组 1-1
2020-03-04 15:25:58,424 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2020-03-04 15:25:58,425 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)

虽然不很擅长JMeter,这些功能需求主要还是来自于测试同行同事,我顺便查一下,写一些Demo,如果你对Groovy在JMeter应用也有类似的功能需求,可以留言,我趁着JMeter知识还没在我脑海中衰退,写个Demo给你。


  • 郑重声明:文章首发于公众号“FunTester”,禁止第三方(腾讯云除外)转载、发表。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FunTester 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
谈下mysql中间件(问题域、业内组件)
这段时间团队在梳理mysql使用上的一些痛点(分库分表、读写分离、权限控制、监控告警、日志审计等),也调研了业内一些mysql中间件的实现,这里把对问题域的思考,以及常见中间件整理沉淀一下
王昂
2018/09/28
3K1
数据库中间件Atlas调研笔记
前篇: 《假如让你来设计数据库中间件》 《数据库中间件TDDL调研笔记》 《数据库中间件cobar调研笔记》 《数据库中间件mysql-proxy调研笔记》 13年底负责数据库中间件设计时的调研笔记,拿出来和大家分享,轻拍。 一、Atlas是什么 奇虎360的一个mysql数据库中间层项目 在mysql官方推出的mysql-proxy0.8.2的基础上改的 基于服务端的中间件 画外音:数据库中间件有基于服务端的,也有基于客户端的,TDDL属于后者;而cobar和Atlas是一个中间层服务,属于前者。 二
架构师之路
2018/03/02
1.7K0
MySQL中间件方案盘点
首先数据库技术发展的基础还是在业务推动的背景下,能够实现相关的技术保障。业务需求的提升必然会在数据量,访问量等方面有更高的要求,而映射到数据库层面就不是简单的扩容和添加资源了,我们有时候更需要弹性,需要快速实现,需要更高的性能。这些都是摆在我们面前的问题,而不仅仅是DBA团队。 所以早期的很多数据库,从一主一从,一主多从的架构,逐步演变到了读写分离,分库分表,然后就是分布式。而同时从很多层面来说,行业内的方案真是百花齐放,记得前几天还和同事聊,说如果对比一下Oracle和MySQL,
jeanron100
2018/03/21
3.1K0
MySQL中间件方案盘点
Mysql Proxy盘点
MySQL Fabric具有分片功能,在同一个分片内又可以含有多个数据库,并且由Fabric自动挑选一个适合的作为主数据库,部署成本较高,另外需要应用端来适配改造。
心平气和
2020/09/11
1.9K0
Mysql Proxy盘点
浅谈高性能数据库集群——读写分离
最近学习了阿里资深技术专家李运华的架构设计关于读写分离的教程,颇有收获,总结一下。
lyb-geek
2018/08/16
9510
浅谈高性能数据库集群——读写分离
从零开始分布式数据库中间件打造读写分离架构
关于读写分离的项目,我在前面的文章中已经给大家分享过。但是在那个项目中,存在很多可扩展性问题。比如,我以前业务量小,我分了两个表,我现在想分 3 个表,是不是就要改动代码了?再比如,分布式事务是否支持等问题都会随着业务的发展给暴露出来。所以,我们就需要重新迭代出符合业务高速发展的新的读写分离分布式架构。
业余草
2019/06/24
7330
从零开始分布式数据库中间件打造读写分离架构
面试题105:有哪些常见的分库分表中间件?
⽐较常⻅的分库分表中间件包括:Cobar、TDDL、Atlas、Sharding-jdbc、Mycat ---- 【Cobar】 阿⾥ b2b 团队开发和开源的,属于 proxy 层⽅案,就是介于应⽤服务器和数据库服务器之间。 应⽤程序通过 JDBC 驱动访问 Cobar 集群,Cobar 根据 SQL 和分库规则对 SQL 做分解,然后分发到 MySQL 集群不同的数据库实例上执⾏。 早些年还可以⽤,但是最近⼏年都没更新了,基本没啥⼈⽤,差不多算是被抛弃的状态吧。⽽且不⽀持读写分离、存储过程、跨库 jo
爪哇缪斯
2023/05/10
5590
面试题105:有哪些常见的分库分表中间件?
浅谈高性能数据库集群 —— 读写分离
最近学习了阿里资深技术专家李运华的架构设计关于读写分离的教程,颇有收获,总结一下。
芋道源码
2018/12/07
7260
MySQL集群结构说明
在以前,数据库的集群配置一直很难,难点在于MySQL主从结构的高可用和读写分离。万幸的是,Galera/GR的出现,让整个集群的配置都极大程度地简化了。
星哥玩云
2022/08/16
1.6K0
MySQL集群结构说明
数据库的双机热备与读写分离
但是时代在进步,社会在发展,高并发和分布式的概念也越来越火热,单机版的数据库已经不能满足如今的互联网,所以就有了mysql的读写分离和主从复制。
姜同学
2022/10/27
8630
数据库的双机热备与读写分离
mysql分布式数据库中间件对比mysql分布式数据库中间件对比
mysql分布式数据库中间件对比 目前数据库中间件有很多,基本这些中间件在下都有了解和使用,各种中间件优缺点及使用场景也都有些心的。所以总结一个关于中间件比较的系列,希望可以对大家有帮助。 什么是中间件 传统的架构模式就是 应用连接数据库直接对数据进行访问,这种架构特点就是简单方便。 但是随着目前数据量不断的增大我们就遇到了问题: 单个表数据量太大 单个库数据量太大 单台数据量服务器压力很大 读写速度遇到瓶颈 当面临以上问题时,我们会想到的第一种解决方式就是 向上扩展(scale up) 简单来说就
Albert陈凯
2018/04/08
3.1K0
mysql分布式数据库中间件对比mysql分布式数据库中间件对比
高性能数据库集群:读写分离
虽然近十年来各种存储技术飞速发展,但关系数据库由于其ACID的特性和功能强大的SQL查询,目前还是各种业务系统中关键和核心的存储系统,很多场景下高性能的设计最核心的部分就是关系数据库的设计。
wayn
2024/03/11
2090
高性能数据库集群:读写分离
Atlas中间件实现Mysql读写分离[通俗易懂]
Atlas 是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条。
全栈程序员站长
2022/08/31
8260
MyCat - 背景篇(2)
如前文所说,Amoeba、Cobar、MyCat等属于同宗一脉。若Amoeba能继续下去,Cobar就不会出来;若Cobar那批人不是都走光了的话,MyCAT也不会再另起炉灶。Cobar之后,有很多类似中间件仿照其架构以及思路,针对特定的业务场景,设计出了不同的中间件。MyCat算是其中业务场景比较全面,使用配置比较简便,性能优秀,而且功能算是稳定的。同类的中间件,都是针对特定场景或者功能进行设计,像某科技的hot某中间件,性能和功能更为稳定,但是业务场景有局限,扩展分布性不是很好。 所以,我们这里对MyCat进行较为全面的剖析,以供广大程序猿同志们的参考:)
干货满满张哈希
2021/04/12
4650
MyCat - 背景篇(2)
Mycat-数据库分库分表中间件,国内最活跃的、性能最好的开源数据库中间件!
企鹅号小编
2018/01/04
4K0
Mycat-数据库分库分表中间件,国内最活跃的、性能最好的开源数据库中间件!
美团点评数据库中间件DBProxy开源
介绍 随着数据量的不断增大,传统的直连数据库对数据进行访问的方式已经无法满足一般公司的需求。通过数据库中间件,可以对数据库进行水平扩展,由原来单台数据库扩展到多台数据库,数据库中间件通过路由规则将数据的访问请求路由到其中一台数据库上,从而大大降低了数据访问的瓶颈和单台数据库的压力。通过数据库中间件还可以将DBA和研发进行解耦,提升DBA运维效率。 奇虎360公司开源的Atlas是优秀的数据库中间件,美团点评DBA团队针对公司内部需求,在其上做了很多改进工作,形成了新的高可靠、高可用企业级数据库中间件DBP
美团技术团队
2018/03/12
2.2K0
数据库相关中间件介绍
https://www.cnblogs.com/grefr/p/6087942.html#top
保持热爱奔赴山海
2019/09/18
2.2K0
数据库相关中间件介绍
mysql读写分离(使用Atlas实现)
  mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,等,但其不支持大数据量的分库分表且性能较差。下面介绍几款能代替其的mysql开源中间件产品:Atlas,tddl,Mycat。   mysql中间件研究原文:Mysql中间件研究(Atlas,cobar,TDDL)
全栈程序员站长
2022/08/31
2990
MySQL读写分离(ProxySQL)
读写分离就是用户在发送请求时,请求经过中间件,中间件将请求中的读和写操作分辨出来将读请求发送给后端的从服务器,将写请求发送给后端的主服务器,再又主服务器通过主从复制将数据复制给其他从服务器
Java帮帮
2019/05/17
6.3K0
MySQL读写分离(ProxySQL)
Mysql 中间件 Atlas MySQL
Atlas MySQL 详细介绍 Atlas是由 Qihoo 360,  Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条。 主要功能: * 读写分离 * 从库负载均衡 * IP过滤 * SQL语句黑白名单 * 自动分表 Q & A ------------
老七Linux
2018/05/31
1.7K0
推荐阅读
相关推荐
谈下mysql中间件(问题域、业内组件)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验