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操作”,然后就具体情况具体优化了。
本篇只说了负载方面的性能测试(偏外观的探测行为),其实VS还自带了一个功能强大的性能分析工具,它能监控内存、C#对象使用量,是偏内部的分析,等以后再说这个工具。
VS2010/2012Web负载测试的更多相关文章
- 转:能和LoadRunner匹敌的VS2010/2012Web负载测试
原文出处:http://www.cnblogs.com/aarond/archive/2013/04/18/performance.html VS自带的Web负载测试真的很大程度上能和专业的loadr ...
- SignalR系列续集[系列8:SignalR的性能监测与服务器的负载测试]
目录 SignalR系列目录 前言 也是好久没写博客了,近期确实很忙,嗯..几个项目..头要炸..今天忙里偷闲.继续我们的小系列.. 先谢谢大家的支持.. 我们来聊聊SignalR的性能监测与服务器的 ...
- LR12.53—第6课:运行负载测试
第6课:运行负载测试 当你运行一个负载测试,LoadRunner将生成系统上的负载.然后,您可以使用LoadRunner的监控器和图形负载下,观察系统的性能. 在这一课中,你将涵盖以下主题: 一目了然 ...
- LR12.53—第5课:创建负载测试场景
在前面的课程中,您使用VuGen将验证您的Vuser脚本.在本课中,您将评估多个Vuser的负载下您的系统.您将模拟十个旅行代理同时使用航班预订系统的行动,以及这些用户的负载下观察系统的行为.设计和运 ...
- LR12.53—第4课:准备Vuser脚本进行负载测试
第4课:准备Vuser脚本进行负载测试 在前面的课程中,您确认您的Vuser脚本的回放产生了真正的用户的精确仿真.下一个步骤是准备的脚本负载测试.如何将多用户系统同时工作的工作?会拖慢系统到不可接受的 ...
- soapui中文操作手册(三)----使用SoapUI进行负载测试
使用了SoapUI进行负载测试 负载测试是相当独特的,我们已经创建了一个功能,使您能够快速创建性能测试,并很容易地修改它们.SoapUI性能测试通常是从现有功能测试创建.这使您可以非常快速地创建先进的 ...
- loadrunner负载测试实例
回想起第一次做性能测试,感慨万千,故写下本文,从:设置虚拟用户,设置场景以及分析运行结果三个方面进行阐述 硬件环境:硬盘 1TG,cpu 3.40GHz,内存4G 软件环境:IE9.0,Weblogi ...
- 使用JMeter进行负载测试——终极指南
这篇教程讨论的是JMeter,它是一款基于Java的.集合了几个应用程序.具有特定用途的负载和性能测试工具. 本篇主要涉及的内容: 解释一下JMeter的用途 JMeter的实现方式以及采用的技术 安 ...
- HTTP负载测试——Tsung
参考资料:http://blog.jobbole.com/87509/ 如何生成每秒百万级别的 HTTP 请求? 在进行负责测试时要牢记一件重要的事:你能在 Linux 上建立多少个 socket 连 ...
随机推荐
- IOS多网卡抓包
linux下libpcap支持从多网卡抓包,设置为any即可 在IOS或者mac上就无法通过次方法抓取所有网卡报文 1.通过设置libevent事件回调,每个网卡注册读事件, fd通过 pd = pc ...
- Maven学习 (六) 搭建多模块企业级项目
首先,前面几次学习已经学会了安装maven,如何创建maven项目等,最近的学习,终于有点进展了,搭建一下企业级多模块项目. 好了,废话不多说,具体如下: 首先新建一个maven项目,pom.xml的 ...
- 《Cracking the Coding Interview》——第16章:线程与锁——题目5
2014-04-27 20:16 题目:假设一个类Foo有三个公有的成员方法first().second().third().请用锁的方法来控制调用行为,使得他们的执行循序总是遵从first.seco ...
- USACO Section2.3 Zero Sum 解题报告 【icedream61】
zerosum解题报告----------------------------------------------------------------------------------------- ...
- 【Gradient Boosted Decision Tree】林轩田机器学习技术
GBDT之前实习的时候就听说应用很广,现在终于有机会系统的了解一下. 首先对比上节课讲的Random Forest模型,引出AdaBoost-DTree(D) AdaBoost-DTree可以类比Ad ...
- Python 推导式推导序列
推导式是从一个或多个迭代器快速创建序列的方法.它可以将循环和条件判断结合,从而避免冗长的代码. 一.列表推导式 语法: [表达式 for item in 可迭代对象] [表达式 for item in ...
- linux的screen常用命令使用记录
新建screen screen 或者 screen -S name - name用于指定一个screen的名字,默认系统随机 暂时退出当前screen ctrl + a + d - 同时按住这三个键即 ...
- 第六章 系统配置:DHCP和自动配置
系统配置:DHCP和自动配置 写在开头:今天和导师见了个面,抛给我一堆材料以及论文,感觉自己学业更加繁重.有些知识现阶段我可能没办法掌握,但是至少在我需要进一步理解它的时候,要知道在哪个地方能够找到. ...
- JZOJ 5305 C先生
题意: 有一个n个点,m条边的图,没有重边.自环,且每一条边最多属于一个环路. 给出q组询问,每次询问u,v两点间的路径有多少种可能. 思路: 先看下方样例说明: 由样例说明可以得知,路径上每经过一个 ...
- hdu 1512
思路:用并查集即可,每次合并的时候将小的集合合并到大的集合上去.理论上的平均复杂度是n*lgn*lgn. #include<map> #include<queue> #incl ...