我在使用Spring-MVC 3.0实现的开发盒上运行了一个Web服务.我有各种JUnit使用RestTemplate测试该服务.我想要做的是让JMeter在运行时获取这些JUnits REST请求.但是,要做到这一点,我需要让Spring的RestTemplate将它们发送到我正在运行JMeter的代理.所以,问题是,我该怎么做?
我已经用CXF和他们的http:conduit和http:client做了类似的东西,但我真的不知道怎么用Spring-MVC做这个.
因此,在执行测试运行之后,我在Aggregate Report的表中填充了刚刚完成运行的测试计划的数据.现在,当我再次执行测试计划时,结果将添加到聚合报告表中的此数据中,但我希望在开始显示当前运行的结果之前清除表数据.有什么办法吗?
我开始在JMeter中编写一些基本测试,并且惊讶于测量结果与Apache ab的测量结果非常不同.
我有一个千兆局域网连接运行Nginx的Intel i7服务器和运行JMeter或ab的i5测试机.最初,我只是测试开箱即用的Nginx主页响应率.
ab -c 1 -n 100 http://testserver.local/
Run Code Online (Sandbox Code Playgroud)
给
Document Path: /
Document Length: 151 bytes
Concurrency Level: 1
Time taken for tests: 0.078 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 38400 bytes
HTML transferred: 15100 bytes
Requests per second: 1280.77 [#/sec] (mean)
Time per request: 0.781 [ms] (mean)
Time per request: 0.781 [ms] (mean, across all concurrent requests)
Transfer rate: 480.29 [Kbytes/sec] received
Run Code Online (Sandbox Code Playgroud)
该结果始终可重复,+/ - 百分之几.
在JMeter中,我有一个1用户的100循环线程组,其中包含:
只有100个样本,每次运行时都会产生非常不一致的结果.但最令人吃惊的事实是报告吞吐量低至每秒40个请求(而不是1280).最高记录率为1030,这仅在我增加到10,000个样本时才实现. …
我有一个测试计划,其中有多个线程组.
我想按顺序运行所有线程组.
线程组如下:
Thread Group1
Thread Group2
Thread Group3
. . .
Thread GroupN
Run Code Online (Sandbox Code Playgroud)
我在互联网上阅读了不同的博客和文章,人们声称线程组将按照定义的顺序运行,但显然它们不属于我的情况.线程组4在线程组1之前运行.线程Group4正在生成一个错误的报告,因为它在Thread Group1之前运行.
如何确保线程组的排序?
另外,我需要实现以下场景:
单个用户多次运行单个请求(单个用户应从单个HTTP请求创建1000个帐户).
多个用户同时多次运行多个请求(多个用户应同时从单个HTTP请求创建1000个帐户).
怎么办?
PS:请在回复之前仔细阅读并理解查询.
我的小组使用JM进行了大量的测试自动化.通常我们有一个属性文件,其中定义了一堆变量.这些又映射到"用户定义的变量",其中我们有许多不同的集合.
这些在jmx的其余部分都被引用 - 我觉得很难,因为在很多不同的地方有很多变量可以知道什么是什么.有没有办法让jmeter显示其变量的值 - 自定义采样器是否正常?理想情况下,如果您只是悬停一个var并显示其值,则ID会喜欢它.
有任何想法吗 ?
我试图暗示使用JMeter的Web服务的基本身份验证过程.但每次它抛出错误401:未经授权.我尝试使用HTTP标头管理器向其添加标头授权和值.它仍然无效.我也尝试过使用HTTP授权管理器.仍然没有运气.有人可以帮忙吗
我想使用尽可能多的线程(使用更少的计算机),但不会成为客户端的瓶颈.
我试图在上一版Apache JMeter 2.11中打开一个用Apache JMeter 2.7编写的jmx文件.我收到此错误日志:
2014/09/10 09:29:44 INFO - jmeter.gui.action.Load: Loading file: C:\Temp\MEGA\Test_Anywhere_750 _Part3.jmx
2014/09/10 09:29:44 INFO - jmeter.services.FileServer: Set new base='C:\Temp\MEGA'
2014/09/10 09:29:44 WARN - jmeter.config.CSVDataSet: Could not translate shareMode=Toutes les unités using Locale:
2014/09/10 09:29:44 WARN - jmeter.config.CSVDataSet: Could not translate shareMode=Toutes les unités using Locale:
2014/09/10 09:29:46 ERROR - jmeter.save.SaveService: Conversion error com.thoughtworks.xstream.converters.ConversionException: kg.apc.jmeter.vizualizers.CorrectedResultCollector : kg.apc.jmeter.vizualizers.CorrectedResultCollector
---- Debugging information ----
message : kg.apc.jmeter.vizualizers.CorrectedResultCollector
cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message : kg.apc.jmeter.vizualizers.CorrectedResultCollector
class : org.apache.jorphan.collections.ListedHashTree
required-type : org.apache.jorphan.collections.ListedHashTree
converter-type : …Run Code Online (Sandbox Code Playgroud) 我的网站提供gzip压缩内容.我用Firebug和YSlow验证了.但是,JMeter不会请求gzip压缩内容.因此,它获得所有未压缩的内容.因此,我的测试用例需要比实际更长的时间(6-10倍).
如何从网站上制作JMeter请求gzip压缩内容?
仅供参考,我正在使用最新的稳定版本:JMeter 2.3.4 r785646.
我想使用Apache JMeter提供的API从Java程序创建和运行测试脚本.我已经了解了ThreadGroup和Samplers的基础知识.我可以使用JMeter API在我的Java类中创建它们.
ThreadGroup threadGroup = new ThreadGroup();
LoopController lc = new LoopController();
lc.setLoops(5);
lc.setContinueForever(true);
threadGroup.setSamplerController(lc);
threadGroup.setNumThreads(5);
threadGroup.setRampUp(1);
HTTPSampler sampler = new HTTPSampler();
sampler.setDomain("localhost");
sampler.setPort(8080);
sampler.setPath("/jpetstore/shop/viewCategory.shtml");
sampler.setMethod("GET");
Arguments arg = new Arguments();
arg.addArgument("categoryId", "FISH");
sampler.setArguments(arg);
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何创建一个组合线程组和采样器的测试脚本,然后从同一个程序执行它.有任何想法吗?
jmeter ×10
load-testing ×3
java ×2
apachebench ×1
api ×1
benchmarking ×1
gzip ×1
http ×1
proxy ×1
rest ×1
spring-mvc ×1
testing ×1
variables ×1