我需要对基于GWT的应用程序进行负载测试.jMeter是我的工具.
通过使用jMeter录制代理功能,我可以模拟使用相同登录ID登录的许多并发用户.
您能否告诉我如何模拟使用不同登录ID登录的许多并发用户?
相关阅读:HTTP://stackoverflow.com/questions/4193718/how-to-simulate-120-concurrent-users-of-a-web-application-with-real-conditions
上述问题的方法对我不起作用,因为我是唯一的测试工程师.但我确实有5台PC可以使用.那么,如何在每台远程计算机上运行不同的测试计划(每个登录ID一个)?
我们计划使用Visual Studio 2010负载测试为我们的应用程序进行压力测试.我们想知道我们的MVC3应用程序是否可以处理1000个并发用户.
我们需要多少台物理机?
我们目前的计划如下.
所以,似乎我们需要7台物理机器.我们是否高估了物理机器?任何负载测试1000个并发用户的想法将不胜感激.谢谢!
我希望创建一个Web性能测试,可以绑定到带有用户名和密码的CSV文件,以便我可以与不同的用户一起运行并发测试.如何修改录制的WebTest以实现此目的?
我正在JMeter上录制基于JSF的Web应用程序的https会话,但它无法正常工作.
目标应用程序托管在: AWS
JMeter版本: 2.9 r1437961
浏览器: Chrome版本29.0.1547.65
Java: java版本"1.6.0_27"
OpenJDK运行时环境(IcedTea6 1.12.5)(6b27-1.12.5-0ubuntu0.12.04.1)
OpenJDK Server VM(build 20.0-b12,混合模式)
OS: Ubuntu 12.04
代理服务器配置:
端口:8084
目标控制器:测试计划>线程组
捕获HTTP标头已选中.
HTTP样本设置:
类型:未选中.按照重定向并使用KeepAlive进行检查.
要排除的网址格式:
1.已添加建议的排除
2..*\.jsf
被抛出的异常(来自JMeter.log):
ERROR - jmeter.protocol.http.proxy.Proxy: java.net.SocketException: Connection closed by remote host
at sun.security.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1377)
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:62)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
at org.apache.jmeter.protocol.http.proxy.Proxy.writeToClient(Proxy.java:404)
at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:218)
ERROR - jmeter.protocol.http.proxy.Proxy: Problem with SSL certificate? Ensure browser is set to accept the JMeter proxy cert: Connection closed by remote host java.net.SocketException: Connection closed by remote host
at sun.security.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1377) …Run Code Online (Sandbox Code Playgroud) 我正在尝试加载测试websocket服务器.服务器接受并发送application/json,交互似乎相当不错.
服务器正确接受客户端(tsung)发送的消息.不幸的是,从客户端的角度来看,它无法读取响应,我认为可能与至少在查看tsung.dump的消息有关,我看到像NUL,SOH,SI等的ASCII字符,但我也看到了json的响应来自服务器莫名其妙.
这是我的tsung.xml文件片段:
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/local/Cellar/tsung/1.5.0/share/tsung/tsung-1.0.dtd">
<tsung loglevel="debug" dumptraffic="true">
<clients>
<client host="localhost" use_controller_vm="true" maxusers="1000" />
</clients>
<servers>
<server host="127.0.0.1" port="8282" type="tcp" />
</servers>
<load>
<arrivalphase phase="1" duration="120" unit="second">
<users maxnumber="1" arrivalrate="1" unit="second" />
</arrivalphase>
</load>
<sessions>
<session name="websocket" probability="100" type="ts_websocket">
<request subst="true">
<websocket type="connect" path="/fancyurl?Content-Type=application/json"></websocket>
</request>
<transaction name="getsession">
<request subst="true">
<dyn_variable name="sessionid" jsonpath="session"/>
<websocket type="message">{"type": "EventMessageCmd", "user": "lnramirez", "eventCode" : "epfl"}
</websocket>
</request>
</transaction>
<thinktime value="10"/>
<request>
<dyn_variable name="boothAck" jsonpath="commandStatus" />
<websocket type="message">
{
"user": "lramirezmonterosa",
"eventCode": …Run Code Online (Sandbox Code Playgroud) 我像这样测量代码速度:
var sw = new Stopwatch();
sw.Start();
DoSomething();
sw.Stop();
AddLog("Method speed is (ms): "+sw.ElapsedMilliseconds);
Run Code Online (Sandbox Code Playgroud)
但是DoSomething()的第一次调用很慢,因为代码正在编译.解决方法是测量第二次调用的速度,如下所示:
var sw = new Stopwatch();
DoSomething();
sw.Start();
DoSomething();
sw.Stop();
AddLog("Method speed is (ms): "+sw.ElapsedMilliseconds);
Run Code Online (Sandbox Code Playgroud)
是否可以在没有第一次调用的情况下预编译DoSomethig()?
我最近推出了一个Amazon EC2实例,即T2.micro.安装Wildfly 8.2.0Final之后,我尝试对Web服务器进行负载测试.我测试了服务器以提供小于500字节大小的静态页面,以及一个写入和读取mysql的动态页面.令我惊讶的是,我得到了类似的结果,两次测试都获得了大约1000 RPS的结果.我使用top -d 1监视系统,CPU没有达到最大值,并且有空闲内存.我认为EC2对并发连接有一些限制,或者我的设置需要改进.
我的设置是CentOS 7,WileFly/Jboss 8.2.0 Final,MariaDb 5.5.测试工具是分布式或命令行模式下的jmeter.测试是在远程,同一子网和本地主机上执行的.所有都得到相同的结果.
你能帮忙找出瓶颈的位置吗?Amazon EC2实例是否存在可能影响此问题的限制?谢谢.
我试图找出用于我的负载测试的计时器,以模拟网站流量的逐渐增长。我看了一下高斯随机计时器的广告:
要延迟每个用户对随机时间的请求,请使用高斯随机计时器,其中大部分时间间隔发生在特定值附近。
和泊松随机计时器:
要暂停每个线程请求随机时间,请使用泊松随机计时器,大多数时间间隔都接近特定值。
取自这个来源。
现在我真的不明白这两者之间有什么区别。它们都应用了更可能接近特定值的随机延迟。那么我错过了什么?它们在实践中有何不同?
开放式和近端负载测试有什么区别?
基于线程的负载测试工具属于哪一类?
以下是每个类别中负载测试工具的一些示例?
我正在创建一个控制台程序,它可以通过模拟多个客户端来测试对Cache的读/写,并编写了以下代码.请帮我理解:
void Main()
{
List<Task<long>> taskList = new List<Task<long>>();
for (int i = 0; i < 500; i++)
{
taskList.Add(TestAsync());
}
Task.WaitAll(taskList.ToArray());
long averageTime = taskList.Average(t => t.Result);
}
public static async Task<long> TestAsync()
{
// Returns the total time taken using Stop Watch in the same module
return await Task.Factory.StartNew(() => // Call Cache Read / Write);
}
Run Code Online (Sandbox Code Playgroud) c# asynchronous load-testing task-parallel-library async-await
load-testing ×10
jmeter ×4
c# ×2
performance ×2
tsung ×2
amazon-ec2 ×1
async-await ×1
asynchronous ×1
proxy ×1
siege ×1
ssl ×1
websocket ×1
webtest ×1