Tag: jmeter

在Java中为Java Sampler创建一个新的JMeter测试

我创建了一个JMeter Java请求并将jar复制到ext目录( apache-jmeter-3.1\lib\ext )。 我正在尝试在远程计算机上运行测试。 从GUI我可以配置和运行Java请求。 也可以使用JMX文件通过Java代码调用测试,如下所示。 ClientJMeterEngine jmeter = new ClientJMeterEngine(“myclient”); File file = new File(RemoteJmeterTest.class.getResource(“/finalSample.jmx”).getFile()); JMeterUtils.loadJMeterProperties(“D:/apache-jmeter-3.1/bin/jmeter.properties”); JMeterUtils.setJMeterHome(“D:/Tools/apache-jmeter-3.1”); HashTree testPlanTree = SaveService.loadTree(file); jmeter.configure(testPlanTree); jmeter.runTest(); 现在我想用Java创建一个新的JMeter测试。 但我不知道如何配置Java采样器。 我在这里看到示例指向如何配置HTTP Sampler。 我需要配置我的Java请求,而不是HTTPSampler。 请协助。

JMeter配置:登录后的性能测试

我正在尝试在我的webapp中测试特定操作的性能。 为了做到这一点,我必须先登录。 基本上我有两个HTTP-Request,一个用于登录,另一个我想用多个同时线程(=用户)进行测试。 为了在第二个请求上获得可比较的结果,我需要所有线程完成第一个请求,以便第一个请求不会干扰第二个请求的性能。 我尝试将进程拆分为多个ThreadGroups或setUp-ThreadGroup和ThreadGroup,问题是登录请求将登录信息存储到HTTPSession中,我需要“共享”这些ThreadGroups的会话。 我做了一些研究,但我找不到很多我能理解的。 是否有捷径可寻? 非常感谢任何帮助,谢谢!

在命令行上增加jMeter的内存

我在Mac上从命令行运行jMeter。 今天它抛出了内存不足,堆空间错误…. newbie$ sh jmeter.sh Exception in thread “AWT-EventQueue-0″ java.lang.OutOfMemoryError: Java heap space at java.awt.image.DataBufferInt.(DataBufferInt.java:41) at java.awt.image.Raster.createPackedRaster(Raster.java:455) 我知道我需要增加分配给它的内存,但不知道如何。 我查看了这篇文章无法在Mac OSX上增加JMeter的堆大小 ,发现它提到的bin文件夹中的jMeter脚本文件并进行了以下更新。 HEAP=”-Xms1024m -Xmx2048m” NEW=”-XX:NewSize=512m -XX:MaxNewSize=1024m” 但我仍然得到内存不足的错误。 我只是需要更多还是我在错误的地方改变? 难道我需要重新启动整台机器吗?

JMeter全球级cookie管理器

JMeter文档指出应该在线程组级别添加cookie管理器。 然而,在测试计划级别添加它会发生什么和/或可能产生的副作用是什么? 我是否正确地做出假设所有线程组将接收这个全局cookie管理器并按预期继续w /没有错误? 这通常不受欢迎吗? 只是想更好地了解它在JMeter中是如何工作的。

通过Java独立应用程序运行JMeter测试用例,而无需在本地安装JMeter。

我正在尝试使用以下命令执行JMeter测试用例。 在没有在本地安装JMeter的情况下,我是否有另一种方法来执行测试用例? 在这里,我必须为JMeterUtils提供JMeter HOME路径。 // JMeter Engine StandardJMeterEngine jmeter = new StandardJMeterEngine(); // Initialize Properties, logging, locale, etc. JMeterUtils.loadJMeterProperties(“/path/to/your/jmeter/bin/jmeter.properties”); JMeterUtils.setJMeterHome(“/path/to/your/jmeter”); JMeterUtils.initLogging();// you can comment this line out to see extra log messages of ie DEBUG level JMeterUtils.initLocale(); // Initialize JMeter SaveService SaveService.loadProperties(); // Load existing .jmx Test Plan FileInputStream in = new FileInputStream(“/path/to/your/jmeter/extras/Test.jmx”); HashTree testPlanTree […]

如何在JMeter中读取XML文件?

我试过了: //${__FileToString(C:\\QC\\qa\\Testlink\\Jmeter\\Expected\\test.xml,ASCII,${xmlFile})}; 发现错误消息: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval In file: inline evaluation of: “// <feed xmlns="http://www.w3.org/2005/At . . . '' Encountered "<" at line 2, column 1. 另外,我尝试使用${__StringFromFile}并得到相同的错误消息,甚至使用beanshell脚本: import org.apache.jmeter.services.FileServer; //Open the file FileInputStream fstream = new FileInputStream(“C://QC//qa//Testlink//Jmeter//Expected//test.xml”); //Get the object of DataInputStream DataInputStream instream = new DataInputStream(fstream); BufferedReader br = new BufferedReader(new InputStreamReader(instream));

Jmeter – beanshell中的正则表达式(matcher()/ pattern())正在削减国家字符

我需要从服务器响应数据中删除一些单词。 使用正则表达式提取器我得到 Działalność lecznicza. 从那我只需要:“Działalnośćleccnicza” 所以我在Beanshell写一个程序应该这样做,因为我得到了一个问题 “lecznicza lecznicza” 这是我的计划: import java.util.regex; import java.util.regex.Matcher; import java.util.regex.Pattern; String pattern = “\\w+(?=\\<)"; String co = vars.get("tresc"); int len = Integer.parseInt(vars.get("length")); String phrase=""; StringBuffer sb = new StringBuffer(); Pattern r = Pattern.compile(pattern); Matcher m = r.matcher(co); for(i=0; i < len ;i++){ if (m.find()){ strbuf = new StringBuffer(m.group(0)); } else […]

如何在真实条件下模拟Web应用程序的120个并发用户?

如何使用负载测试框架(如JMeter)模拟> 120个并发用户 ? 据我所知,如果我使用120个服务器或120个CPU核心,真正的并发是可能的。 您是如何/在真实条件下测试您的Web应用程序或服务的?

Jmeter java.lang.OutOfMemoryError:超出了GC开销限制

我正在使用Jmeter将工作负载注入部署在AWS EC2实例上的应用程序。 测试必须非常庞大:它持续10个小时,工作负载配置文件具有双峰形状,在5分钟内有大约2600个请求。 实际上我有一个m3.xlarge实例,其中部署了应用程序,8个m3.xlarge实例,每个实例运行一个jmeter实例。 使用python脚本,要注入的工作负载在8个客户端实例之间进行分割,因此在示例中,如果原始工作负载要注入800个请求,则每个jmeter实例将注入100个请求。 我所说的完整测试持续10个小时,分为每个5分钟的时间步长。 每5分钟应用一点工作负载变化。 实际上我从每个jmeter实例得到java.lang.OutOfMemoryError:GC开销限制在测试开始后立即超出了错误并且没有请求到达应用程序。 我在网上和stackoverflow上看了很多,我总结出可能的错误可能是: JMV堆大小太低 – >我解决了在每个jmeter实例的jmeter.bat文件中设置以下内容: 设置HEAP = -Xms4g -Xmx4g 设置NEW = -XX:NewSize = 4g -XX:MaxNewSize = 4g 代码中的一些错误导致继续无用的垃圾收集器。 所以我从测试中删除了所有的jmeter监听器。 特别是我使用的是TableVisualizer,ViewResultsFullVisualizer,StatVisualizer和GraphVisualizer。 无论如何问题仍然存在。 我真的不知道如何解决它。 我知道用2600音调请求进行10小时测试可能是一个非常繁重的测试,但我认为应该有一种方法来执行此操作。 我正在使用EC2 m3.xlarge实例,所以我甚至可以将堆大小提高到8G(如果它有用),或者将工作负载分成更多的客户端,因为我使用的是spot实例,所以我不会付出这么多,但是因为我已经将客户端实例的数量从4增加到8,以便解决问题并且不起作用我有点困惑,我想知道r建议,然后继续获得越来越多的资源。 非常感谢你提前。

在JMeter中的BeanShell Sampler中将字符串解析为整数

我正在尝试在JMeter中将字符串解析为整数但由于跟随错误而失败。 如果我尝试打印vars.get返回的字符串,它们看起来很好。 2014/06/28 00:08:52 WARN – jmeter.assertions.BeanShellAssertion: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: “if (ResponseCode != null && ResponseCode.equals (“200″) == false ) { int i = In . . . ” : Typed variable declaration : Method Invocation Integer.parseInt 以下是我的代码 if (ResponseCode != null && ResponseCode.equals (“200”) == false […]