栏目导航
热点推荐
- ASP下批量删除数据的两种方法
- 关于二级域名共享cookies
- ASP错误代码大全
- ASP代码实现show.asp?id=26变成s
- ASP错误信息解决:IIS启用父路径
- 一些常用的正则表达式大全
- ASP超级链接和HTML函数正则表达
- ASP隐藏下载地址及防盗代码
- 最常用的正则表达式示例
- ASP程序数据库被挂马的处理方法
- ASP生成html的新方法
- 精通ASP错误提示大全
阅览排行
为你的ASP程序作一个负载测试
www.jz123.cn 2008-10-26 来源: 中国建站 袁袁整理 我要投递新闻
测试需求
为了更好的测试你的ASP程序,你首先需要决定你的程序将来需要面对多大的压力。简单的说,压力或负载可以分解成以下数字:
· 最低用户数量。(这个程序的使用者的最低数量是多少?通常这个数值可以是每日或没周或每月的点击量—当然你也可以分解成一个更可控的数值—每小时访问量,)
· 并发用户的总量. (在最高峰时的糟糕状况是什么?作出相应的计划. 希望在有压力的情况下工作正常有效.)
· 请求高峰值. (每秒钟需要产生多少ASP页面? 这也许是在衡量一个ASP程序对用户请求作出反应的能力时的一个最重要的因素.)
为你的程序决定用户量和并发用户数通常是很困难的事情,而且是在你的程序在被实际使用之前。尤其是网络程序。即使是局域网程序也常常要面对用户增加的问题,所以准确的预计用户量将会是困难的。当你不知道怎么开始时,最好从基础的开始:
Internet需要考虑的问题:
· 分析你已有的IIS日志。这个数值会暗示出一些实际的几率
· 你的站点将会有多流行?流行的站点一天会有100万或更多的访问量。不会那么流行?那么假设一些不同的情况?假设你有1000以上的用户群?你能通过增加更多的硬件设备来解决扩展性问题吗?或者,你的程序的架构会成为瓶颈吗?
· 什么是最糟糕的情况?问一下你的朋友这些情况会发生吗?
Intranet需要考虑的问题:
· 同样地,分析你已有的IIS日志。
· 这个ASP程序是可以给每个人用的吗?在公司内部网有多少台机器?你的系统管理员可以告诉你有关网络高峰流量的东西吗?
· 这个程序有特定的用户对象吗?只是HR人力资源部?有多少个人力资源部的员工在使用?
· 最糟糕的情况是怎样的?
如果你不能提前决定适当的负载,那么确定你的程序的最高上限将是你最好的选择。如果被10个用户点击,你能在1秒内产生多少的ASP响应结果?100个呢?1000个呢?10000个呢?记录你的基准。当你从实际使用中得到你的流量日志显示你正在接近你的极限时,你将不仅会为你知道你当前的极限是什么,而且你会有时间准备解决的办法。
介绍测试工具WAS
虽然有很多的压力测试工具可供选择,但是在本文,我会主要集中介绍WAS(就是以前所谓的Homer),WAS是当前微软的标准网页压力测试工具。如果你已经对WebCat很熟悉了,你会激动的发现WAS可以很方便地导入现有的WebCat脚本。如果你以前用过InetMonitor,你会激动的发现WAS也是基于GUI的(对于很多使用命令行的WebCat的用户来说这将会是一个很好的附加特性)。另一个好处是它是免费的,我的一个好朋友常说,“如果是免费的,那么就是我的。”除了它的价格优势外,这个工具还提供了完整的功能,而且还在不断地升级更新中。Microsoft.com经常要使用它,所以他们会明白这个工具的重要性。
但是你不需要过多地理会我的话,只管自己去尝试。我在文章的结尾会提供一个列表,列出一些第三方的压力测试工具,你可以自己决定选什么工具。底线是你需要一个工具,能够把你的ASP程序放到负载下,在发布之前测试它。
开始使用WAS
我会教你怎样第一次使用这个工具来测试一个ASP页面。我也会介绍怎样使用署名登录的测试和多用户并发访问的测试,因为这些东西会使初学者一头雾水。
首先你需要下载和安装这个工具。你能从下面的链接中得到最新版本
http://www.microsoft.com/technet/treeview/default.asp?url=/TechNet/itsolutions/intranet/downloads/webstres.asp. 在这个网站上还会有关于这个工具的入门指导,你可以随时回去看看。
以下是在安装时需要注意的几点:
· 不要把WAS安装在你的测试目标服务器上,安装在别的机器以确保得到准确的测试结果。
· 在安装WAS的机器上需要有ADO2。1以上的版本。如果oledb32.dll的版本不是2.10.3711或以上,ADO会被WAS自动安装。
· 在安装后你会有一个完整的安装日志,默认会在\Program Files\Microsoft Web Application Stress Tool\INSTALL.LOG.
· 如果你已经安装了旧版本的WAS,更新时会保留数据文件完好。WAS使用Access .mdb文件作为数据存储文件。WAS的初始.mdb包是WAS.mdb,可以在程序安装路径找到。
· WAS在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WAS存储注册信息。
在运行我们新安装的WAS之前,我们创建一个简单的ASP脚本作为测试页面。创建一个新的叫做MyASPPage.asp 的ASP页面,然后插入以下脚本:
以下为引用的内容: MyASPPage.asp <%@ Language=VBScript %> <HTML> <BODY> <% CONST ForAppending = 8 set oFSO = server.CreateObject("Scripting.FileSystemObject") 'translate our virtual directory into a physical path strFilePath = Server.MapPath(Request.ServerVariables("PATH_INFO")) 'grab the root of the virtual directory strFilePath = left(strFilePath, (InstrRev(strFilePath, "\"))) strFilePath = strFilePath & "MyFile.txt" 'write out to the screen the full file path Response.Write(strFilePath & "<BR>") set oTS = oFSO.OpenTextFile(strFilePath,ForAppending, true) oTS.writeline("Session Id: " & Session.SessionId & chr(32) & _ "Time: " & Cstr(now())) %> </BODY> </HTML> |
上一篇:好用的asp防SQL注入代码 下一篇:如何用ASP来获取客户端真实IP的地址