欢迎光临
我们一直在努力

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

建站超值云服务器,限时71元/月

  对于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%>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 一次关于ASP变量和对像关闭与不关闭的差别测试
分享到: 更多 (0)