前 言
对于直接面对互联网用户的WEB应用,在开发设计的时候必须格外小心,因为谁也不知道在单位时间内WEB程序访问和运行的速度。所以,在程序设计完成以后,最后针对程序进行一些严格的甚至是苛刻的测试,以确定程序在复杂的网络环境和服务器高压负荷下是否可以保持正常和相对稳定的效率。
 
什么是负压测试
负压测试一般针对WEB应用进行,比如网站等。进行负压测试的目的是为了确定WEB应用在现实的网络环境中是否可以正确而安全的处理各种用户提交的不确定请求,检验程序的健壮性。
负压测试的另外一个目的在于故意提供足够多的请求,观察程序在这种情况下的反应能力。
 
为什么要负压测试
可能大家现在都已经很熟悉一个很著名的搜索引擎Google,我们知道,这个搜索引擎不但搜索结果准确,而且,搜索速度更是奇快无比。搜索结果准确,那是程序算法在一个方面的表现,搜索速度快,则关系到整个系统的构件和程序的健壮行。如果希望自己编写的程序也可以在大访问量的情况下“从容不迫”,就有必要对程序进行负压测试。
对于访问量较大的网站或者程序,特别是提供一些比较热门话题程序,最好在正式将网站或者程序公布以前进行比较完备的负压测试,并且根据测试即使优化程序或者合理配置服务器硬件,这样网站不至于在用户量急剧增加的情况下出丑甚至崩溃。
 
 
使用ACT进行测试
 
ACT简介
ACT(或者MSACT)是微软的Visual Studio 和Visual Studio.NET带的一套进行程序测试的工具,也正是我们的负压测试需要用到的。ACT不但可以记录程序运行的详细数据参数,用图表显示程序运行状况,而且安装和使用都比较简单,结果阅读也很方便,是一套较理想的测试工具
 
安装ACT
最起码,当然我们需要Visual Studio,ACT似乎还没有单独的版本出现。在这里,我们测试一个WEB Service的在高负荷情况下的运行性能。首先,在Visual Studio中打开ACT(如图)
MILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
程序会提示是否建立一个新的工程,点击“是”,然后输入一个文字说明,出现以下界面(图二):

打开ACT以后,我们可以开始测试了。
 
建立一个新的测试
点击菜单【Action】->【New Test】(如图三)

会出现一个向导界面(图四)

向导我们太熟悉了,仔细阅读每个界面的说明文字, 选择就可以了。
 
编辑测试
经过以上的设置,会出现以下界面(图五):

很明显,以上界面我们人为的将它分为了三个部分,而且每个部分颜色各不相同。以上不同颜色的三个部分分别为:
左边蓝色部分:导航栏,测试入口和结果人口;
右上绿色:提示信息栏;
右下红色:VBS代码栏,在这里编辑测试需要的一些VBS代码,测试成功有效与否,全部依靠这些代码的执行情况。所以,这些代码最好仔细考虑并且多次测试;
在进行测试之前,首先设置测试的一些选项(菜单【Action】—>【Properties】)如图六

在以上界面,主要设置两个参数:
(1) Test duration设置,这里设置测试进行时间,默认为5分钟;
(2) 在Counters标签页设置一些测试性能数据;
以上设置完成以后,就可以开始修改VBS代码了,我们没必要遍历整个VBS代码,只看一些主要的:
Test.SendRequest("http://localhost/")
以上是默认代码,我们可以修改为以下代码:
Test.SendRequest("http://localhost/philipq/wsmessages/wsmsg.asmx/MPost?webKey=w2k&UName=Ad&UPassword=pwd&UTo=Admin&UMessage=ACT+Test")
以上代码的编写应该根据自身程序的特点来修改,以达到最好测试效果。
 
执行测试
点击工具栏的【Start】按钮开始测试如图):

测试进行的时候,会出现以下窗口提示(如图):

以上界面显示程序测试的时间、剩余时间、每秒提交的Request数量、提交的Request总量、错误数量等。点击按钮【Show details】可以查看详细数据。
测试结束以后,就可以查看测试的结果了。
 
阅读测试结果
测试完成以后,可以在图二左边的Result分支点击查看测试结果,在右方的报表栏我们可以查看到以下数据:OverView、Graphs、Requests等,下图是一个OverView的数据举例:

从以上报告可以看到,测试的程序每秒提交request23次,总共1400次。
 
测试结果的使用
根据测试的结果,我们可以知道程序运行的情况、在高负荷下服务器的承受能力。根据这些数据,我们来确定程序的性能和服务器的性能,以此来预测在程序正式使用以后可能遇到的情况和服务器需要的改进。
 
其他选择
上面介绍的ACT虽然很不错,但是,毕竟不是每一个用户都使用Visual Studio,这时候,我们可以考虑其他工具来进行测试。
 
Microsoft Web Application Stress Tool (WAS)
这个工具和ACT一样是微软的产品,但是,这个工具没有和Visual Studio集成,可以单独使用。感觉这个程序现在还在测试,但是一些基本的功能已经很完备,可以完成ACT几乎所有功能,而且,WAS使用更加简单,设置也更加完备明了。这个工具的另外一个特点是,它的报表是纯文本文件,而不是流行的HTML文件格式,但是,内容方面一点也不逊色。
关于这个工具的更多信息,可以在这里查阅:
http://homer.rte.microsoft.com/
 
Open System Testing Architecture (OpenSTA)
OpenSTA的特点是可以模拟很多用户来访问需要测试的网站,它是一个功能强大、自定义设置功能完备的软件,但是,这些设置大部分需要通过Script来完成,因此,在真正的使用这个软件之前,必须学习好它的Script编写。如果需要完成很复杂的功能,Script的要求还比较高,当然,这也是它的优点,一些程序员不会在意这些Script的。
这个软件完全免费而且源代码可以下载,感兴趣的朋友可以自己修改达到要求。
关于这个工具的更多信息,可以在这里查阅:
http://www.opensta.org/
http://opensta.sourceforge.net/
 
PureLoad
PureLoad是基于Java的测试工具,它的Script代码完全使用XML,所以,这些代码的编写很简单,它的测试报表包含文字和图形并可以输出为HTML文件。由于是基于Java的软件,所以,可以通过Java Beans API来增强软件功能。
关于这个工具的更多信息,可以在这里查阅:
http://www.pureload.com/
 
QALoad
QALoad不单单测试WEB应用,还可以测试一些后台的东西,比如SQL Server等,只要是它支持的协议,都可以测试;另外一点,QALoad不但可以测试Windows,而且可以测试AIX, HP-UX 和 Solaris等系统。但是,这款软件价格很高。
关于这个工具的更多信息,可以在这里查阅:
http://www.compuware.com/products/qacenter/qaload/
 
LoadRunner
对于财大气粗的大公司而言,这款软件可能比较适合,它的功能和QALoad相比不相上下,市面上著名的公司如IBM、SUN、Oracle等都用这个软件。但是它的价格也高不可攀,和功能成正比。
关于这个工具的更多信息,可以在这里查阅:
http://www-heva.mercuryinteractive.com/products/loadrunner/

转载于:https://blog.51cto.com/1008149/731722

asp.net网站负载测试相关推荐

  1. asp.net网站编码测试

    1.常规asp.net网站   a.使用GBK编码时     1)form提交方式       ie:地址栏显示GBK编码后的字符串,输出中文       fireforx:地址栏显示GBK编码后的字 ...

  2. 性能测试、负载测试以及压力测试

    为什么80%的码农都做不了架构师?>>> 根据产品的时间特性和资源特性,效率测试可以包括不同的测试类型,例如:性能测试.负载测试和压力测试.本文则主要介绍这三种测试,希望对你有帮助, ...

  3. 性能测试vs负载测试vs压力测试

    下面我们主要介绍性能测试.负载测试和压力测试. 效率作为ISO 9126内部和外部质量的重要质量属性之一,其含义是在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力.资源可能包括其他软 ...

  4. windows使用nginx实现网站负载均衡测试实例

    http://www.jb51.net/article/22470.htm 如果你关注过nginx,必定知道nginx这个软件有什么用的,如果你的网站访问量越来越高,一台服务器已经没有办法承受流量压力 ...

  5. 在ASP.NET Core微服务架构下使用数据库切分和扩展, 并用JMeter进行负载测试

    原文链接:https://itnext.io/how-to-scale-an-asp-net-core-microservice-and-sharded-database-load-test-with ...

  6. WAS服务器负载测试软件导读

    转帖:出处未知 你的Web服务器和应用到底能够支持多少并发用户访问?在出现大量并发请求的情况下,软件会出现问题吗?这些问题靠通常的测试手段是无法解答的.本文介绍了Microsoft为这个目的而提供的免 ...

  7. WEB网站压力测试教程详解

    WEB 网站压力测试教程详解 Web 服务处于分布式计算的核心位置,它们之间的交互通常很难测试.分布式开发.大型的开发者团队以及对代码日益组件化的期望都有可能使 Web 服务的开发变得越来越容易隐藏错 ...

  8. WEB网站压力测试方案 压力测试如何换算并发用户数

    http://wenku.baidu.com/view/bedf1a93daef5ef7ba0d3c29.html 压力测试通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大的服务级别 ...

  9. 电脑网页压力测试软件,网站压力测试工具

    网站压力测试软件可以测试不同上网方式.不同地区.访问Web不同页面.在不同并发访问密度情况下的客户端响应时间.流量和流速,实现极高的服务器测试,数据精准.网站压力测试软件适用于所有windows平台, ...

  10. 网站 压力 测试软件,网站压力测试软件

    这是网站压力测试软件下载,网站压力测试软件可以测试不同上网方式.不同地区.访问Web不同页面.在不同并发访问密度情况下的客户端响应时间.流量和流速,实现极高的服务器测试,数据精准.网站压力测试软件适用 ...

最新文章

  1. 黄聪:自动化测试的7个步骤
  2. Android自定义控件之轮播图控件
  3. 华为云计算FusionCompute环境部署实验之使用批量部署工具安装
  4. [转]opensuse 更新源
  5. 六、Git多人开发: 把同一文件改成了不同的文件名如何处理?
  6. eureka 集群失败的原因_Eureka集群的那些坑
  7. Trident API 概览
  8. 哪个行业的产品经理可以做的久远
  9. Unity2020.1新功能探路:编辑器相关更新
  10. 朴素贝叶斯 半朴素贝叶斯_SQL Server中的朴素贝叶斯预测
  11. PowerShell在SharePoint 2010自动化部署中的应用(1)--代码获取
  12. 【正点原子STM32连载】第十章 STM32CubeMX简介 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
  13. 下载carplay安卓版_apple carplay
  14. 软件开发的质量及效率
  15. LSTM做预测遇到的错误总结
  16. 华中科技大学计算机考研书籍,2020年华中科技大学计算机应用技术考研经验分享...
  17. protocol buffers 序列化数据
  18. linux文件目录管理
  19. 数字人民币生态体系进一步完善 试点场景加速拓展
  20. 分享灵动微电子低功耗单片机MM32L系列

热门文章

  1. Spring数据绑定之DataBinder篇---01
  2. dubbo学习之本地存根实践
  3. YARN队列优先级分配策略
  4. JAVA实现Tom猫
  5. [XMAN2018排位赛]AutoKey
  6. 程序员常用的网站(个人笔记)
  7. C语言入门检验身份证号码最后一位
  8. “亲爱的程序员,我们不必害怕算法,flutterui库
  9. 农历日期组件 【恋爱小清单开发总结】
  10. iPhone和ipad连接【华北理工大学】校园网快捷指令教程