LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

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

admin
2010年7月24日 16:53 本文热度 6203
[p]  对于asp程序,用到的变量有全局变量,以及一些建立的对象。良好的asp程序员都有释放它们的习惯,但释放与不释放之间到底有多少差别呢?所以今天特地对它们进行了一翻测试。 [/p]
[p]  测试内容:测试的全局变量有一个,对象是采用连接sql的connection对象。[br]   第一次测试:不释放全局变量而结束程序执行。[br]   第二次测试:释放全局变量而结束程序执行。[br]   测试前准备:在运行测试前等待服务器休息5分钟,保证内容及cpu已经稳定下来。[br]   测试软硬件:服务器为平常的piii550,内存256m。装有win2000+iis5.0+sql2000[br]        客户端一台为win2000,采用ie5.5,开一个浏览窗口[br]另一客户端是win98,ie5.0,开两个浏览窗口[/p]
[p]  共测试次数:三个客户端累计执行到20000停止。[/p]
[p]第一次测试报告(不释放):[/p]
[p]开始时内存占用:146464k[br]开始一个客户端后内存占用:146996k cpu资源占用31-32%[br]开始两个客户端内存占用:147316k cpu资源占用49-52%[br]后面的内存变化为 -> 147304k -> 147328[br]开始三个客户端内存占用:147868k cpu资源占用59-69%[br]后面的内存变化为 -> 147868k -> 147864k -> 147856k -> 147724k -> 147828k[br]-> 147860k -> 147868k -> 148084k -> 148076k -> 148088k[br]-> 148040k -> 147940k[br]结束时内存占用:147940k[br]三个客户端停止请求后内存释放情况:[br]147940k -> 148000k -> 147988k -> 146472k -> 146448k -> 146452k[/p]
[p] [/p]
[p]第二次测试报告(释放):[/p]
[p]开始时内存占用:146652k[br]开始一个客户端后内存占用:146996k cpu资源占用35-38%[br]开始两个客户端内存占用:147700k cpu资源占用55-62%[br]开始三个客户端内存占用:148252k cpu资源占用53-71%[br]后面的内存变化为 -> 148248k -> 148060k [br]....[br]-> 148080k -> 148076k[br]结束时内存占用:147940k[br]三个客户端停止请求后内存释放情况:[br]148076k -> 147956k -> .... -> 146452[/p]
[p]下面是两次测试在结束客户端稳定下来的内存差别:[/p]
[p]第一次:146464-146716 = 252k[br]第二次:146652-146452 = -200k[/p]
[p]第一次耗去了内存约252k,最好服务器好像再也释放不掉了[br]第二次很奇怪,到最后内存却节约了200k,不知是什原因。[/p]
[p]下面是两次开始测试和结束测试一瞬时的内存使用情况:[/p]
[p]第一次:146464-147940 = 3476k[br]第二次:146652-148076 = 1324k[/p]
[p]内存使用情况第一次比第二次多了将近一倍。[/p]
[p]这次测试说明释放变量还是有益处的,特别是当系统长期运行的,更是要注意释放变量,放可保证服务器资源不会白[br]白浪费而到穷尽。[/p]
[p]----------------------------------------------------------[/p]
[p]附部分测试代码test.asp:[/p]
[p]<%option explicit[br]if request("qian")="qian" then[br]application("testnumer") =0[br]response.write "重置为0!"[br]response.end[br]end if[br]if application("testnumer") > 20000 then[br]response.write "结束!!已经达到2000次"[br]response.end[br]end if[br]%>[br][br][br][br][br]untitled document[br][br][br][/p]
[p][/p]
[p][br][/p]
[p]<%dim yp[br]application("testnumer") = application("testnumer") + 1[br]response.write "testnumer: " & application("testnumer")[br]initdatabase("yp")[br]initdatabase("yp")[br]initdatabase("yp")[br]initdatabase("yp")[br]yp=second(time)[br]set yp=nothing[br]closedatabase%> [/p]

该文章在 2010/7/24 16:53:48 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved