关于ASP变量和对像关闭与不关闭的差别测试

变量

  对于ASP程序,用到的变量有全局变量,以及一些建立的对象。良好的ASP程序员都有释放它们的习惯,但释放与不释
放之间到底有多少差别呢?所以今天特地对它们进行了一翻测试。

  测试内容:测试的全局变量有一个,对象是采用连接SQL的connection对象。
   第一次测试:不释放全局变量而结束程序执行。
   第二次测试:释放全局变量而结束程序执行。
   测试前准备:在运行测试前等待服务器休息5分钟,保证内容及CPU已经稳定下来。
   测试软硬件:服务器为平常的PIII550,内存256M。装有Win2000+IIS5.0+SQL2000
        客户端一台为Win2000,采用IE5.5,开一个浏览窗口
另一客户端是Win98,IE5.0,开两个浏览窗口

  共测试次数:三个客户端累计执行到20000停止。

第一次测试报告(不释放):

开始时内存占用:146464K
开始一个客户端后内存占用:146996K CPU资源占用31-32%
开始两个客户端内存占用:147316K CPU资源占用49-52%
后面的内存变化为 -> 147304K -> 147328
开始三个客户端内存占用:147868K CPU资源占用59-69%
后面的内存变化为 -> 147868K -> 147864K -> 147856K -> 147724K -> 147828K
-> 147860K -> 147868K -> 148084K -> 148076K -> 148088K
-> 148040K -> 147940K
结束时内存占用:147940K
三个客户端停止请求后内存释放情况:
147940K -> 148000K -> 147988K -> 146472K -> 146448K -> 146452K

第二次测试报告(释放):

开始时内存占用:146652K
开始一个客户端后内存占用:146996K CPU资源占用35-38%
开始两个客户端内存占用:147700K CPU资源占用55-62%
开始三个客户端内存占用:148252K CPU资源占用53-71%
后面的内存变化为 -> 148248K -> 148060K
....
-> 148080K -> 148076K
结束时内存占用:147940K
三个客户端停止请求后内存释放情况:
148076K -> 147956K -> .... -> 146452

下面是两次测试在结束客户端稳定下来的内存差别:

第一次:146464-146716 = 252K
第二次:146652-146452 = -200K

第一次耗去了内存约252K,最好服务器好像再也释放不掉了
第二次很奇怪,到最后内存却节约了200K,不知是什原因。

下面是两次开始测试和结束测试一瞬时的内存使用情况:

第一次:146464-147940 = 3476K
第二次:146652-148076 = 1324K

内存使用情况第一次比第二次多了将近一倍。

这次测试说明释放变量还是有益处的,特别是当系统长期运行的,更是要注意释放变量,放可保证服务器资源不会白
白浪费而到穷尽。

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

附部分测试代码test.asp:

<%Option Explicit
If Request("qian")="qian" Then
Application("TestNumer") =0
Response.Write "重置为0!"
Response.end
End If
If Application("TestNumer") > 20000 Then
Response.Write "结束!!已经达到2000次"
Response.end
End If
%>
<!-- #include file=inc/setup.asp -->
<!-- #include file=inc/popu_fun.asp -->
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv="refresh" content="0">
</head>

<body bgcolor="#FFFFFF" text="#000000">

</body>
</html>

<%dim yp
Application("TestNumer") = Application("TestNumer") + 1
Response.Write "TestNumer: " & Application("TestNumer")
initDatabase("YP")
initDatabase("YP")
initDatabase("YP")
initDatabase("YP")
yp=second(time)
Set yp=nothing
closedatabase%>

时间: 2024-12-30 08:10:06

关于ASP变量和对像关闭与不关闭的差别测试的相关文章

cs文件-asp.net怎么判断FSO的打开或关闭状态,是否有自带的检测属性?求大牛告知

问题描述 asp.net怎么判断FSO的打开或关闭状态,是否有自带的检测属性?求大牛告知 在asp.net的CS文件里,我想判断FSO的打开或关闭状态,谢谢各位大牛了 解决方案 文件可以共享多开的,所以不存在是否打开的状态. 只要试图打开时加锁冲突会报错.

如何将JS的变量值传递给ASP变量_javascript技巧

asp作为主页面,外接一个js的,我想知道一下能否在js里面调用asp的变量值,如果能这些值是怎么传递过去的呢? 我是这样做的,不知道是不是正确的?在asp这里:<script type="text/javascript" src="lpindex.js?jsid=trim(request('id'))" ></script> 而在js那边:location.href='lmsg.asp?id=<%=trim(request("

分享JavaScript获取网页关闭与取消关闭的事件

 这篇文章主要介绍了JavaScript获取网页关闭与取消关闭的事件,有需要的朋友可以参考一下 在做Web开发时,我们经常用到页面关闭事件onbeforeunload,可以给用户一个选择放弃关闭的机会,就比如这个博客编辑器.如果用户选择了离开,那么onunload事件自然会触发:但若用户选择了取消,又该如何检测呢?   我们假定一个页面离开取消事件,叫做onunloadcancel.显然,这个事件应触发在用户按下对话框的取消按钮之后.但关闭提示对话框的触发流程并不是那么简单.我们先来回顾下这个过

ie 7-fancyBox关闭整个浏览器关闭

问题描述 fancyBox关闭整个浏览器关闭 在IE7中使用fancyBox,弹出层. 弹出第一个层点击关闭按钮的时候, 整个Web应用都会关闭掉. 弹出多个层,关闭第一个层以外的子层,没有问题. 解决方案 fancybox一个页面只能存在一个吧,怎么可能打开多个,是不是修改过 了. 而且fancybox是层,关闭层不可能关闭浏览器的,除非配置过关闭事件调用window.close() 解决方案二: 怎样关闭整个程序winform 关闭子窗体时关闭整个进程WPF在子窗体中关闭整个程序 解决方案三

由光年论坛的关闭理解分析关闭光年的原因(二)

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 在前面写到了国平老师关闭光年的原因的前2点,由光年论坛的关闭理解分析关闭光年的原因(一),下面,笔者来接着说余下的一点和自己理解的关闭的原因吧,毕竟光年论坛伴随着成长也太久太久了,这是由太深的感情了. 第三点:"论坛运营以来帖子质量提升得不高.主流的SEO技术也没有深入发展" 一句感慨点开了我们广大站长的心扉,我相信这是很

vc++-VC右上角的关闭程序按钮关闭时自动发送的是什么消息

问题描述 VC右上角的关闭程序按钮关闭时自动发送的是什么消息 VC右上角的关闭程序按钮关闭时自动发送的是什么消息?我需要在关闭程序中补加程序确认关闭对话框,以及确认关闭后关闭摄像头等操作,该如何做呢? 我发现鼠标移到此关闭按钮时msg.message=160,若以此方法关闭时,只要鼠标移到关闭程序按钮就自动关闭了(但是没点击关闭按钮),该如何改程序呢? 解决方案 可以在OnCancle()函数中添加处理函数,重载OnCancel函数即可. 解决方案二: 处理一下 WM_CLOSE 消息 或者,直

spring security怎么实现浏览器关闭session也关闭 最好详细点 ,谢谢

问题描述 spring security怎么实现浏览器关闭session也关闭 最好详细点 ,谢谢 <session-management> <concurrency-control error-if-maximum-exceeded="true" max-sessions="1" /> </session-management> <logout invalidate-session="true" log

Socket编程中的强制关闭与优雅关闭及相关socket选项

以下描述主要是针对windows平台下的TCP socket而言. 首先需要区分一下关闭socket和关闭TCP连接的区别,关闭TCP连接是指TCP协议层的东西,就是两个TCP端之间交换了一些协议包(FIN,RST等),具体的交换过程可以看TCP协议,这里不详细描述了.而关闭socket是指关闭用户应用程序中的socket句柄,释放相关资源.但是当用户关闭socket句柄时会隐含的触发TCP连接的关闭过程. TCP连接的关闭过程有两种,一种是优雅关闭(graceful close),一种是强制关

一次关于ASP变量和对像关闭与不关闭的差别测试

变量 对于ASP程序,用到的变量有全局变量,以及一些建立的对象.良好的ASP程序员都有释放它们的习惯,但释放与不释放之间到底有多少差别呢?所以今天特地对它们进行了一翻测试. 测试内容:测试的全局变量有一个,对象是采用连接SQL的connection对象. 第一次测试:不释放全局变量而结束程序执行. 第二次测试:释放全局变量而结束程序执行. 测试前准备:在运行测试前等待服务器休息5分钟,保证内容及CPU已经稳定下来. 测试软硬件:服务器为平常的PIII550,内存256M.装有Win2000+II