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/

参考网页地址:http://bbs.51testing.com/thread-3613-1-1.html

ASP.NET负压测试相关推荐

  1. asp连oracle测试,ASP连接Oracle

    ASP连接Oracle的方式有几种, 这里介绍一下 OLE 连接方法 dim objConn,strConn,DBServer,DBName,DBUser,DBPassword dim RS,xSQL ...

  2. asp ado 连接测试_软件测试中的功能测试点(一)

    01 页面链接检查 一.每一个链接是否都有对应的页面,并且页面之间切换正确.可以使用一些工具,如:LinkBotPro.File-AIDCS.HTMLLink Validater.xenu等工具.Li ...

  3. asp html本地测试工具,ASP本地调试工具

    一般情况下,ASP调试工具,都是使用IIS(Internet Information Service),但是现在很多人使用的系统,几乎都是Ghost版本的,不知道为什么,很多Ghost版本的,安装了I ...

  4. 心理学在线调查平台asp.net气质测试

    任务二:心理学在线调查平台 ●平台提供在线心理学测量功能(气质类型调查表) ; ●平台提供学生注册.登录.在线测试和查询先前测试结果功 能; ●系统记录学生测试行为数据和测试日期,学生可不限次数受 测 ...

  5. asp ado 连接测试_ASP.NET Core 简介

    .NET Core 是 .NET Framework 的新一代版本,是微软开发的第一个具有跨平台 ( Windows.Mac OSX .Linux ) 能力的应用程序开发框 http://ASP.NE ...

  6. ASP.NET 模拟测试001-100题

    第1题 [单选题][0.50分][特性分析] 在三层架构中ADO.NET数据访问类放在( )中使用. A. 表现层 B. 数据访问层 C. 业务逻辑层 D. 每一层都可以 第2题 [单选题][0.50 ...

  7. ASP.NET 模拟测试101-200题

    第101题 [单选题][0.50分][概念理解] 在SQL Server中,部分匹配查询有关通配符""的正确描述是(). A. ""代表多个字符 B. &quo ...

  8. ASP.NET上传文件管理控件

    一.引言 v2完成了将数据绑定在dataGrid上的任务,但是dataGrid毕竟是asp.net 1.x的工具,在asp.net 2.0里面,使用是gridveiw.接下来的问题就是将datagri ...

  9. asp.net编程:asp.net中如何设置页面的编码

    在用ASP.NET写网上支付的接口程序时,遇到一个奇怪问题,通过表单提交过去的中文全是乱码,英文正常.而用asp程序进行测试,可以正常提交 中 文,asp页面中有这样的HTML代码: < met ...

  10. 提高ASP性能的最佳选择

    ASP开发人员为了在他们的设计项目中获得更好的性能和可扩展性而不断努力.幸运地是,有 许多书籍和站点在这方面提供了很好的建议.但是这些建议的基础都是从ASP平台工作的结构 上所得出的结论,对实际获得的 ...

最新文章

  1. 关于Blocking IO, Non-Blocking IO 和 Asynchronous I/O的理解
  2. php 判断字符串是不存在json中
  3. 如何在Python中删除字符串中的所有反斜杠?
  4. Pixysoft.Framework.MemoryCache 开发实录
  5. Oracle 常用命令举例
  6. vmware 12 安装centos7网络配置
  7. 用sed替换文件中的空格
  8. C#使用QQ邮箱发送邮件
  9. java窗口布局_Java窗口(JFrame)从零开始(4)——流布局+边界布局+网格布局
  10. 黑苹果使用Karabiner-Elements改Windows快捷键教程
  11. 计算机数学位数,有效位数
  12. spring boot 2.1.7启动过程源码解析
  13. leetcode 19. 删除链表的倒数第 N 个结点(c++)
  14. scrapy爬取知乎问题实战
  15. Git本地文件上传到远程仓库
  16. 论文精读|VRCNet:变分关联点云补全网络(CVPR2021)
  17. 计算机除尘的操作步骤,PC除尘降温不求人 脚本之家手把手教你如何清理电脑
  18. 【Spark NLP】第 9 章:信息提取
  19. 【软考】信息安全多媒体标准化知识产权复习指南
  20. 深度解读:云网融合的多云网络

热门文章

  1. b2b平台和b2b网站一样吗?B2B是什么意思?
  2. Material-design icon生成插件
  3. [数据采集笔记04]——网页解析——lxml、bs4、正则
  4. js控制的回到顶端goTop的使用
  5. 使用INT4/INT类型替换INT8/BIGINT类型能够节省多少磁盘空间?
  6. 经历3个失败的游戏创业公司,我所亲历的痛与教训
  7. 动画开发之PIXI开发
  8. 关于流式计算和Excel的练习题
  9. Increasing Faithfulness in Knowledge-Grounded Dialogue with Controllable Features
  10. 北京市小汽车摇号程序的反编译、算法及存在的问题浅析