原文地址: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的测试逻辑是这样的:

  1. send request 到 目标path(拼装好post/get, querystring, form field)
  2. get response
  3. 根据验证规则,开始验证

添加负载测试:

实现负载测试:

测试组合:"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#对象使用量,是偏内部的分析,等以后再说这个工具。

最新文章

  1. Spring配置文件集成Hibernate配置文件
  2. CSS3魔法堂:说说Multi-column Layout
  3. css中vw,vh单位对于UC的兼容性问题
  4. webdriver无法打开firefox
  5. 移动端调试利器 JSConsole 介绍
  6. jsonp从服务器读取数据并且予以显示
  7. sql常识-IN 操作符
  8. JavaSE学习总结第10天_面向对象5
  9. 读excel时候出现java内存溢出
  10. iOS面试必看经典试题分析
  11. Entity Framework Core 软删除与查询过滤器
  12. Xamarin.Android 利用Fragment实现底部菜单
  13. 二、主流区块链技术特点及Hyperledger Fabric V0.6版本特点
  14. Iscloc用法笔记
  15. LoibreOJ 2042. 「CQOI2016」不同的最小割 最小割树 Gomory-Hu tree
  16. 解析Service之你需要了解的一些东东
  17. 一、安装MYSQL
  18. Django模型的filed type总结
  19. C#委托、事件剖析(下)
  20. 论文笔记:DeepFace: Closing the Gap to Human-Level Performance in Face Verification

热门文章

  1. 【02】webstorm配置babel转换器+截图(by魔芋)
  2. IOS多网卡抓包
  3. linux 广播
  4. Swift 与众不同的地方
  5. linux->centos7设置tomcat开机自启
  6. 五、SPR 单一职责
  7. linux sort的用法
  8. Java内存模型与线程_学习笔记
  9. UVA1316 Supermarket
  10. Citrix NetScaler HA(高可用性)解析