当我在JMeter中创建HTTP请求时,我得到响应数据,例如"此页面使用JavaScript并需要启用JavaScript的浏览器".怎么可能解决这个问题.
我使用tsung时遇到了问题:
我在一个目录中有几个文件,我必须发送到服务器.我用这个文件列表创建文件(fullpath)并为tsung config添加一个选项:
<option name="file_server" id="xml_files" value="/home/ubuntu/.tsung/files"></option>
Run Code Online (Sandbox Code Playgroud)
我的目标是从该文件中选择一个随机文件路径并发送到服务器.为此,我编写了配置的这一部分:
<setdynvars sourcetype="file" fileid="xml_files" delimiter=";"
order="random">
<var name="file_name" />
</setdynvars>
<request subst="true">
<http url="/" version="1.1" method="POST"
contents_from_file="%%_file_name%%"></http>
</request>
Run Code Online (Sandbox Code Playgroud)
但这不起作用.当我将attr contents_from_file设置为常量时,一切正常.有没有办法用变量做到这一点?
我想加载测试ASP.NET Web服务.我有Visual Studio 2008专业版和Visual Studio 2010.
这些产品中的任何一个都能促进负载测试吗?我似乎无法找到任何东西,谷歌的所有回报都是Visual Studio的高端版本.
如果没有,有什么替代方案.
或者更好的是,是否有一个产品,我可以提供它一个IIS日志,它将基本上重播它?
我正在尝试加载测试从归档数据库中获取记录的java servlet.
servlet的工作原理如下:
我已经设置了一个测试,我想用post变量触发HTTP请求但是测试不起作用,J Meter出错了.
屏幕截图1 - 显示测试的结构

屏幕截图2 - 显示我正在阅读的CSV文件

我已将CSV文件放在保存测试计划的同一文件夹中!
屏幕截图3 - 显示HTTP请求

这是错误输出:
线程名称:线程组1-1示例开始时间:2012-11-20 10:35:27 GMT加载时间:0延迟:0大小(字节):1113标头大小(字节):0主体大小(字节):1113样本数:1错误计数:1响应代码:非HTTP响应代码:java.net.URISyntaxException响应消息:非HTTP响应消息:索引13处的IPv6地址的预期结束括号: http:// [http://sophos1.testserver.co.英国/的servlet /存档]:61061 /
响应标头:
HTTPSampleResult字段:ContentType:DataEncoding:null
POST请求
POST http://[http://sophos1.testserver.co.uk/servlet/archive]:61061/
POST data:
[no cookies]
Run Code Online (Sandbox Code Playgroud)
返回数据
java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 13: http://[http://sophos1.testserver.co.uk/servlet/archive]:61061/
at java.net.URI$Parser.fail(Unknown Source)
at java.net.URI$Parser.failExpecting(Unknown Source)
at java.net.URI$Parser.parseServer(Unknown Source)
at java.net.URI$Parser.parseAuthority(Unknown Source)
at java.net.URI$Parser.parseHierarchical(Unknown Source)
at java.net.URI$Parser.parse(Unknown Source)
at java.net.URI.<init>(Unknown Source)
at java.net.URL.toURI(Unknown Source)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:232)
at …Run Code Online (Sandbox Code Playgroud) 我正在开发一个http客户端,我想在需要一些时间才能完成的请求上测试它.我当然可以提出一个python脚本来满足我的需求,例如:
def slow_server(environ, start_response):
with getSomeFile(environ) as file_to_serve:
block = file_to_serve.read(1024);
while block:
yield block
time.sleep(1.0)
block = file_to_serve.read(1024);
Run Code Online (Sandbox Code Playgroud)
但这感觉就像其他人已经遇到的问题.是否有一种简单的方法来提供具有荒谬的低带宽上限的静态文件,缺少像apache或nginx这样的满级服务器.
我正在研究linux,到目前为止我测试的方式是python -m SimpleHTTPServer 8000在一个充满文件的目录中.我同样对另一个简单的命令行服务器感兴趣,或者在tcp端口8000上使用一个或几个iptables命令进行带宽限制(或任何可行的方法).
我正在我的全新服务器Apache/PHP/Mysql(Bitnami LAMP堆栈.php 7.0.3/MySQL 5.7.10)上执行一些负载测试.我在一个loadBalancer后面使用AWS和1个EC2实例.目前我正在使用loader.io或jmeter进行测试.我正在测试一个执行此查询的非常简单的API:
select *,sleep(0.5) from debug limit 1
Run Code Online (Sandbox Code Playgroud)
我添加了sleep(0.5),因为我想看看服务器如何处理多个并发连接,我发现了一个瓶颈:如果我运行"SHOW PROCESSLIST",即使我有10个并发用户,我也只能看到5个进程.负载测试显示连接已排队,因为测试期间响应时间从500毫秒增加到几秒(取决于测试持续时间和并发用户数).
我检查了
select @@max_connections
Run Code Online (Sandbox Code Playgroud)
它是151(默认值).max_user_connections为0.我应该检查哪些其他参数来增加数据库上的并发连接数?
如果我用5个并发用户运行测试,每个用户都会在500毫秒内得到响应.如果我添加的并发用户数多于响应时间减慢的话.
如果我在不访问数据库的API上运行负载测试,即使有400个并发用户也没有问题.
编辑:
用HTOP监控我看到:
任务:34,245 thr; 2运行
可能在这里问题?
非常感谢
我正在尝试以非gui模式运行JMeter(从命令行).
我已经在很多地方看到过,包括官方文档,以下命令将按我的意愿行事:
jmeter -n –t test.jmx -l testresults.jtl
Run Code Online (Sandbox Code Playgroud)
但是,我得到了"t"参数的非法参数异常.请参阅下面的我的控制台输出:
以下是保存到jmeter.log的输出:
2016/08/09 14:41:59 INFO - jmeter.util.JMeterUtils: Setting Locale to en_GB
2016/08/09 14:41:59 INFO - jmeter.JMeter: Loading user properties from: C:\apache-jmeter-3.0_src\apache-jmeter-3.0\bin\user.properties
2016/08/09 14:41:59 INFO - jmeter.JMeter: Loading system properties from: C:\apache-jmeter-3.0_src\apache-jmeter-3.0\bin\system.properties
2016/08/09 14:41:59 FATAL - jmeter.JMeter: An error occurred: java.lang.IllegalArgumentException: Unknown arg: –t
at org.apache.jmeter.JMeter.initializeProperties(JMeter.java:746)
at org.apache.jmeter.JMeter.start(JMeter.java:385)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.jmeter.NewDriver.main(NewDriver.java:259)
Run Code Online (Sandbox Code Playgroud) 当没有遇到Gatling声明或者请求失败时,有没有人试图让正在运行的Jenkins作业失败?
例如:
有没有人知道如何使用现有的Gatling Maven/Jenkins插件实现这一目标.
我的maven插件设置是:
<plugin>
<groupId>io.gatling</groupId>
<artifactId>gatling-maven-plugin</artifactId>
<version>${gatling.version}</version>
<configuration>
<failOnError>true</failOnError>
<simulationsFolder>src/test/scala</simulationsFolder>
<runMultipleSimulations>true</runMultipleSimulations>
<configFolder>src/main/resources</configFolder>
</configuration>
<executions>
<execution>
<id>GoOrBust</id>
<phase>test</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<simulationClass>mine.OnePunch</simulationClass>
<failOnError>true</failOnError>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
将<failOnError>true</failOnError>只会影响报表的生成,但不是詹金斯工作(明显).
我宁愿不通过自定义异常监视/处理显式地从测试内部抛出异常.
我已经完成了测试JMeter并且能够获得results.csv或result.jtl.
如何从GUI和命令行将其加载到JMeter中?
我创建了一个具有HelloController的简单Spring Boot应用程序。
Get API: http://localhost:8080/hello
Response: Hello World
Run Code Online (Sandbox Code Playgroud)
现在,我已经创建了一个JMeter脚本,该脚本具有10万个并发用户,并点击了上述get API。当我运行JMeter脚本时,计数30k后,我开始收到错误消息:
java.net.NoRouteToHostException: Cannot assign requested address (Address not available)
Run Code Online (Sandbox Code Playgroud)
这是什么原因呢?我该如何解决这个问题?
load-testing ×10
jmeter ×5
performance ×3
apache ×1
asp.net ×1
benchmarking ×1
gatling ×1
http ×1
java ×1
jenkins ×1
maven ×1
mysql ×1
scala ×1
scalability ×1
spring-boot ×1
testing ×1
tsung ×1