google搜索 51Testing站内搜索                    软件测试门户 | 软件测试培 训 | 文章资料精选 | 软件测试论坛 | 软件测试博客 | 测试招聘求职 
打印

ASP.NET负压测试

ASP.NET负压测试


ASP.NET负压测试

广东南海市公安局计算机安全监察股 喻凯  
2002-4-19 10:28:43

--------------------------------------------------------------------------------


前  言
对于直接面对互联网用户的WEB应用,在开发设计的时候必须格外小心,因为谁也不知道在单位时间内WEB程序访问和运行的速度。所以,在程序设计完成以后,最后针对程序进行一些严格的甚至是苛刻的测试,以确定程序在复杂的网络环境和服务器高压负荷下是否可以保持正常和相对稳定的效率。

什么是负压测试
负压测试一般针对WEB应用进行,比如网站等。进行负压测试的目的是为了确定WEB应用在现实的网络环境中是否可以正确而安全的处理各种用户提交的不确定请求,检验程序的健壮性。
负压测试的另外一个目的在于故意提供足够多的请求,观察程序在这种情况下的反应能力。

为什么要负压测试
可能大家现在都已经很熟悉一个很著名的搜索引擎Google,我们知道,这个搜索引擎不但搜索结果准确,而且,搜索速度更是奇快无比。搜索结果准确,那是程序算法在一个方面的表现,搜索速度快,则关系到整个系统的构件和程序的健壮行。如果希望自己编写的程序也可以在大访问量的情况下“从容不迫”,就有必要对程序进行负压测试。
对于访问量较大的网站或者程序,特别是提供一些比较热门话题程序,最好在正式将网站或者程序公布以前进行比较完备的负压测试,并且根据测试即使优化程序或者合理配置服务器硬件,这样网站不至于在用户量急剧增加的情况下出丑甚至崩溃。


使用ACT进行测试

ACT简介
ACT(或者MSACT)是微软的Visual Studio 和Visual Studio.NET带的一套进行程序测试的工具,也正是我们的负压测试需要用到的。ACT不但可以记录程序运行的详细数据参数,用图表显示程序运行状况,而且安装和使用都比较简单,结果阅读也很方便,是一套较理想的测试工具。

安装ACT
最起码,当然我们需要Visual Studio,ACT似乎还没有单独的版本出现。在这里,我们测试一个WEB Service的在高负荷情况下的运行性能。首先,在Visual Studio中打开ACT(如图)

程序会提示是否建立一个新的工程,点击“是”,然后输入一个文字说明,出现以下界面(图二):


打开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/

[ Last edited by ayong401 on 2004-10-22 at 14:52 ]
我不是最优秀的
但我一直是最努力的......

TOP

版主,好贴啊,看了你的贴子帮我解决了一个问题,谢谢!!!

TOP

为测试人员服务!
我不是最优秀的
但我一直是最努力的......

TOP

要是能对测试结果进行一下分析就好了
选择自己的态度!玩!让别人快乐!投入!

TOP

谢谢

TOP

我们也在用的,是感觉还不错的阿


不过我们是刚才开始学习的

TOP

感觉 ASP.NET架构的论坛与传统的ASP论坛有区别


TOP

关于ACT的使用,有一本ACE小组写的书可以看看
国内由清华出的
叫microsoft .net web 应用程序性能测试

TOP

谢谢
真世界

TOP

一般而言,ASP搭建的网站的健壮性不是很强,很容易搞死!

TOP

ACT简单 实用

简单的测试 还是不错的
Enjoy everyday and enjoy everything!! MSN: Edward_hua@hotmail.com

TOP

at now I can't even know its real meaning2
男人切记“女人可以放,知识不可忘,功名利禄是狗屁,父母恩情要牢记.” 不同意!狂╭∩╮(︶︿︶)╭∩╮

TOP

楼主,能不能再详细介绍一下从结果怎么看出性能的好坏,找到系统的瓶颈

TOP

谢谢,现在在用WAS

TOP

WAS是不是要比ACT要好用?

TOP

我想请教各位大虾,在测试网站时,针对性能测试应该怎样进行呢?
网站中那么多的功能,在录制脚本的时候总不能,每个功能都操作吧~~:(
我是菜鸟,刚刚接触这方面的测试,万望各位赐教测试方法

TOP

谢谢,好东东,找了很久了.
这两年来,慢慢习惯了光说不练

TOP

帖子很好,介绍听详细。不过目前对工具的使用的介绍很多,但对结果分析的文章很少,真希望斑竹或各位高手,总结总结给大家。

TOP

上面说的很好,可是我们都会了啊,斑竹在对结果分析下啊!
通过RPS真能找到FWQ的最大浏览器瓶颈吗?
还有对性能计数器的分析,也希望有ACT高手指点下,给点资料,网上有关这方面的内容很少
www.365ren.com/93326736
把时髦的技术挂在嘴边,还不如把过时的技术记在心里。
看得懂的书,请仔细看;看不懂的书,请硬着头皮看。

TOP

好东西,正在用

TOP

 
当前时区 GMT+8, 现在时间是 2008-7-4 23:58Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹