在IIS中托管的ASP.NET应用程序的压力/负载测试期间,我应该在应用服务器上监控什么?
例如,Windows中内置的实用程序性能监视器有一个巨大的计数器列表,我可以监视.但是,我甚至不知道这些计数器中有一半实际上是什么意思?我知道我想看看内存,处理器,网络......但它很通用.
我怎样才能成功找到问题区域?
你们中的一些人过去使用了什么?
我有一个servlet,我想做的不仅仅是单元测试.我需要了解负载下的性能并对其进行压力测试.
我需要能够编写在特定时间范围内运行的各种事务的脚本,并获取收集响应时间数据,以便我可以识别故障点以及响应严重降级的位置.我一直在寻找任何答案,并找到一些关于HTTPUnit的信息,但我不确定这是否是这个问题的解决方案.如果可能的话,会在你的答案中欣赏非常简单的样本.
我正在努力寻求解决方案.
我做了什么:
我已经使用HTTP代理服务器记录了导航页面生成的每个文件.添加线程组下的所有文件我运行了测试计划,一次没有缓存,一次没有缓存.
我得到的是:
但是我使用Firebug获取该页面的响应时间比使用Jmeter [缓存以及非缓存]的时间少30-40秒.
注意:该页面包含ajax.
题:
谢谢.
我想使用Visual Studio 2010 Ultimate Load Test加载测试企业Web应用程序(我没有构建).我希望每个虚拟用户在开始时登录,并在他们的随机测试运行结束时注销.我可以正确配置负载测试.但是,有一个复杂的问题.会话密钥被注入URL,如下所示:
http://ProductName/(S(ilv3lp2yhbqdyr2tbcj5mout))/System/Container.aspx
Run Code Online (Sandbox Code Playgroud)
我将Visual Studio WebTests转换为编码测试,然后使用特定于会话的URL对代码进行改进.这很好用.我需要做的是将这个会话编码的URL保持在特定虚拟用户运行的各种测试中,从登录WebTest类开始,到logout WebTest类.
各个WebTest类能够在每个测试的开始和结束时登录和注销.但是,这不是正常使用的准确表示.此应用程序模拟大型机终端,并且永远不会切断Web浏览器请求之间的连接或会话.每个会话都是一个长的交互式HTTP请求,就像大型机终端与例如IBM AS400交互一样.Usert通常在一天开始时登录到大型机,并且(应该)在一天结束时注销.同样,此Web应用程序维护HTTP请求,直到用户注销,或IIS会话超时发生.因此,重要的是我在所有测试之间的URL中保持相同的会话,以确保内存泄漏和其他讨厌的错误不会累积.
请分享你的想法!
我对QTP 11有疑问,QTP 11可以在Performance Center中使用负载测试进行性能测试类似的loadruner吗?或QTP仅用于功能测试?
我有一个包含100条记录/行的CSV,我希望使用JMeter执行(通过服务).
现在,我希望每次执行3次记录(每次记录延迟5秒后),并对CSV中的所有100条记录执行相同操作.
我怎么能用JMeter这样做?
在Gatling 2.1中,我像这样保存一堆ID:
.findAll.saveAs("ids"))
Run Code Online (Sandbox Code Playgroud)
这将添加会话中的ID列表:
ids -> List(0, 1, 2, 3)
Run Code Online (Sandbox Code Playgroud)
我想将此列表作为常规的Scala变量。
在使用String的情况下,可以正常工作:
.exec(session => {
val mystring= session("SomeString").as[String]
session
})
Run Code Online (Sandbox Code Playgroud)
如何使此工作适用于列表?
当我对其进行负载测试时,我的应用程序在相对较低的压力点退出。为了测试,我使用了这个npm包loadtest。
我以每秒1000个请求和10个并发性运行测试10秒钟。
loadtest http://localhost:3000/my/api -t 10 -c 10 --rps 1000
Run Code Online (Sandbox Code Playgroud)
应用程序在大约两秒钟后退出,并给出以下错误,此错误不是很有用。
events.js:163
throw er; // Unhandled 'error' event
^
Error: accept ENFILE
at exports._errnoException (util.js:1050:11)
at TCP.onconnection (net.js:1462:24)
Run Code Online (Sandbox Code Playgroud)
显然,这与打开文件的数量有关。我尝试了此命令,ulimit -n <number>但无济于事。它的上限为9999(我无法将其设置为该上限)。
该应用程序可以在10个并发时处理大约400rps。
我的本地计算机是Mac OS Sierra,CPU:1.6GHz,RAM:8GB。
我要发布以下Json数据。
{
"id": 1,
"name": "Zypher",
"price": 12.50,
"tags": [{
"tag": 1,
"tagName": "X"
},
{
"tag": 2,
"tagName": "Y"
},
{
"tag": 2,
"tagName": "Z"
}]
}
Run Code Online (Sandbox Code Playgroud)
我的Jmeter测试计划如下
- Test Plan
- Thread Group
- Http Request Defaults
- Http Cookie Manager
- Simple Controller
- CSV Data Set Config (Sheet_1)
- Http Header Manager
- Http Request (The hard coded json was provided here as body data)
Run Code Online (Sandbox Code Playgroud)
一切正常。现在,我想使用csv参数化我的Json。
Sheet_1:
id,name,price
1,Zypher,12.50
Run Code Online (Sandbox Code Playgroud)
我用这3个参数修改了json及其对我有用。现在,我想对细节部分进行参数化。我不知道该怎么做。我想要保持我的json这样的一切,
{
"id": ${id},
"name": ${name},
"price": …Run Code Online (Sandbox Code Playgroud) 我正在使用visual studio负载测试对我的应用程序进行负载测试
我的测试从每个表的单独api请求中获取sql azure数据库中大约40个表的数据.
负载测试模拟大约200个用户超过10分钟和大约80-100个请求每秒.
在测试期间,我看到我的SQL Azure服务器DTU接触到100%,这显然不是生产性能的好兆头.
即使我使用更多DTU扩展我的数据库,这也保持不变.
如何解决或解决问题,如果这是我需要查看的特定查询或仅解决扩展问题