转:能和LoadRunner匹敌的VS2010/2012Web负载测试
原文出处:http://www.cnblogs.com/aarond/archive/2013/04/18/performance.html
VS自带的Web负载测试真的很大程度上能和专业的loadrunner媲美(只是Web方面),上个report图吧(如何实现,请往下拉):


看,能探测一堆的计数器(上面红色打叉的是代表超过了基线值)、还能跟踪sql的执行,下面讲讲如何实现的。
大致过程分成如下:新建测试工程、添加Web性能测试(和实现)、 添加负载测试(和实现,负载测试实际上是不断的调用Web性能测试)、运行负载测试看结果、调整性能。
新建测试工程:忽略(`(*∩_∩*)′)
添加Web性能测试:

实现Web性能测试(先了解测试对象,需求如下):

我们需要分别给以上情况编写测试用例,如下:
- User Name不填、Email不填==》页面不跳转,并且出现消息User Name cannot be empty.
- User Name填、Email不填 ==》页面不跳转,并且出现消息Email cannot be empty.
- User Name不填、Email填 ==》页面不跳转,并且出现消息User Name cannot be empty.
- User Name填、Email填 ==》页面跳转至Thanks.aspx,并且出现消息Thanks
因此,需要分别给上述4种情况加入测试配置(不是测试代码,因为这里都是配置出来的...),如下图:

上面由于是要模拟form的Submit操作,并且使用的是asp.net webform技术,因此form域比较抓狂(要是用mvc技术就方便多了,在性能测试时记得不要考虑csrf攻击,或者直接忽略掉),而且不要忘记把Submit按钮写进去(value=1)
简单而言,每一个request的测试逻辑是这样的:
- send request 到 目标path(拼装好post/get, querystring, form field)
- get response
- 根据验证规则,开始验证
添加负载测试:

实现负载测试:
测试组合:"Register"是第一步中那个Web性能测试的名字,由于目前只有1个Web性能测试,所以前缀是[100%]
浏览器组合:工具能够模拟客户端浏览器类型分布百分比,来模拟实际情况
计数器集:这里有成堆成堆的计数器,里面有的是定义了阀门值的(有的没有定义),定义的阀门值分成2种:Warm和Alert,比如:CPU有个计数器叫:% Processor Time,这个计数器要求尽量低点,它有如下设置:

发出警报:true代表超出后会在最终的report中以图表的形式出现,比如本篇的第二张图中的那一连串的cpu处理时间。
大家一看就明白意思。
运行设置1 的属性窗口:

SQL跟踪:用来跟踪本地/远程数据库的sql执行情况(比如能跟踪到最耗时间的sql脚本找出来,这样就能够优化sql了)
采样速率:如字面意思...
运行持续时间:如字面意思...
预热持续时间:假设设置了5秒的预热持续时间,则负载测试开始后的5秒内不会进行请求,而是等待状态,等5秒后进行疯狂的请求动作
漏了个关键参数,如下:

负载测试被设置成了恒定有25个用户同时进行请求。
运行负载测试:略
调整性能:
要回过头来看看第一张图,里面有 “最慢的5个测试”、“最慢的5个sql操作”,然后就具体情况具体优化了。
转:能和LoadRunner匹敌的VS2010/2012Web负载测试的更多相关文章
- VS2010/2012Web负载测试
原文地址:http://www.cnblogs.com/aarond/archive/2013/04/18/performance.html VS自带的Web负载测试真的很大程度上能和专业的loadr ...
- loadrunner负载测试实例
回想起第一次做性能测试,感慨万千,故写下本文,从:设置虚拟用户,设置场景以及分析运行结果三个方面进行阐述 硬件环境:硬盘 1TG,cpu 3.40GHz,内存4G 软件环境:IE9.0,Weblogi ...
- Loadrunner模拟JSON接口请求进行测试
Loadrunner模拟JSON接口请求进行测试 一.loadrunner脚本创建 1.Insert - New step -选择Custom Request - web_custom_re ...
- Loadrunner常用目录、组成部分及负载测试流程
常用目录 bin:存放一些可执行程序 classes:可能用到的jar包 My Template:存放一些自己创建的模板 include:头文件(可以编写自定义函数,保存成.h的头文件形式并放在这个目 ...
- 在大负载中使用LoadRunner进行负载测试()
在大负载中使用LoadRunner进行负载测试,需要配置一些环境来满足大负载下各种资源的充足: 1.为了避免出现“No Buffer Space Available”的错误,需要进行如下配置: 1)修 ...
- loadrunner(预测系统行为和性能的负载测试工具)
LoadRunner,是一种预测系统行为和性能的负载测试工具.通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试.企业使用LoadRu ...
- Loadrunner:场景中添加负载生成器
场景中添加负载生成器: (1)远程机子(假设ip为192.168.134.23)开启负载生成器 开始菜单找到:LoadRunner Agent Process 开启后任务栏会显示如下图: (2)场景中 ...
- loadrunner之Paramater在负载测试中的数据生成规则
前段时间在做性能测试的时候,基于业务的需求,使用到了Unique Number的参数类型. 脚本的业务是注册以alien开头,后面接数字的用户帐号,填写相关帐号信息.提交企业信息进行审核. 其中用户帐 ...
- VS2010安装与测试编译问题(fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt)
由于第三方库的各种原因,与编译冲突问题,公司又决定把整个项目都统一改用VS2010来编译.所以我把我开发机上的VS2008卸载了,又重新安装了VS2010.无奈出现了COFF格式转换问题.搜索了下.完 ...
随机推荐
- C#开源
商业协作和项目管理平台-TeamLab 网络视频会议软件-VMukti 驰骋工作流程引擎-ccflow [免费]正则表达式测试工具-Regex-Tester Windows-Phone-7-SDK E ...
- Dapper学习 - Dapper.Rainbow(一) - Create
Dapper这个ORM有许多扩展, 我自己用过两种, 也算是比较主流的两种, Rainbow和Extension, 这里就先介绍下Rainbow吧, 毕竟这个先用, 当然, 由于我使用的是mysql数 ...
- LINQ的Except方法
在两个集合中,左边集合减去右边集合的元素: source code: List<int> a = new List<int>{ { }, { }, { } }; List< ...
- Web API应用架构设计分析(2)
在上篇随笔<Web API应用架构设计分析(1)>,我对Web API的各种应用架构进行了概括性的分析和设计,Web API 是一种应用接口框架,它能够构建HTTP服务以支撑更广泛的客户端 ...
- 【开源】Ionic项目实例《Ionic中文社区》
介绍 这几天闲着没事,就做了个第三方的Ionic社区的移动客户端,练练手,界面设计和图片资源直接从官方版拿来的.真懒o(︶︿︶)o 唉 网站开放出来的接口,都已全部实现,大家可以下着试试看. 源码 h ...
- ASP.NET MVC SSO单点登录设计与实现(转载)
实验环境配置 HOST文件配置如下: 127.0.0.1 app.com127.0.0.1 sso.com IIS配置如下: 应用程序池采用.Net Framework 4.0 注意IIS绑定的域名, ...
- css: 照片有如层叠效果
显示上面照片效果css <!DOCTYPE html> <!--headTrap<body></body><head></head>& ...
- MySQL: LEAVE Statement
https://www.techonthenet.com/mysql/loops/leave.php This MySQL tutorial explains how to use the LEAVE ...
- Phar与Composer
如果你想把PHP玩出像Java那样的花来,那Phar.Composer甚至Phing应该都是必须要玩一遍的. Phar - Php Archive.包管理器,有些类似Java中的jar包,但有所不同. ...
- Node.JS事件驱动机制
1.事件驱动程序绑定事件及事件的处理程序 eventEmitter.on('eventName', eventHandler); 我们可以通过程序触发事件 // 触发事件 eventEmitter.e ...