ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境,而在ASP中最常用的脚本语言就是VBScript了。虽然ASP的脚本语言很简单,但是要想让一个ASP程序能够最优化的运行也不是一件简单的事情。
现在国内的网络带宽很有限,网络十分拥挤,如何使得自己的ASP应用程序能够快速的运行就成为了每一个ASP程序员的梦想了。那就跟随我来一同加速你的ASP程序吧!
一. 有关操作数据库的优化方法
我们使用ASP最主要的用途就是对数据库进行操作了,如何更快速的完成这些动作呢?
1. 不要任意使用“Select * ......”
请尽量拾取你所需要的那些字段,比如,一个Table中有10个字段,但是你只会用到其中的一个字段(name),就要使用“select name from yourtable”,而不是用“select * from yourtable”。你或许会说,我是这么做的阿,但是,如果一个table中有50个字段,你需要用到其中的23个字段的时候,你会怎么做呢?为了节省打字以及查找对应字段名称的麻烦,你就不一定会老老实实的用“select name,sex,age... from yourtable”了吧!
实际证明,尽量拾取你所需要的那些字段来使用select语句将会是你的ASP程序至少加快5%左右。
2. 尽可能使用系统存储过程(针对MS SQL Server)
有的时候完成一个读取操作,使用SQL语句和存储过程同样可以完成,但是使用存储过程将会大大加快完成读取操作的速度,也就提高了你的ASP程序运行的速度。
3. 注意你的游标使用方法
如果你仅仅是对一个table进行读取操作,那么请你使用forward-only,read-only游标,因为这种游标读取数据库是最为快速的,尤其是你的读取数据量很大的情况下。
4. 不要打开无用的独立记录集
也许你在笑了,我会打开没有用的记录集吗?是的,你当然会,比如在生成一个树型记录集的时候,你不得不打开父记录集以及对应的子记录集,甚至还有孙记录集,其实你可以使用ADO提供的Data Shaping技术来替代打开多个独立的记录集,那样会加快程序的运行速度。(关于Data Shaping的用法可以参考ADO帮助)
5. 一定要记着关闭打开的记录集对象以及连接(Connection)对象
有些朋友总是奇怪为何自己的ASP程序刚开始的时候运行速度很快,可是多运行几遍就越来越慢了呢?甚至出现服务器死机的情况。发生这种情况,就很可能是你打开了太多的记录集对象以及连接(Connection)对象而最后却没有关闭他们引起的。使用如下方法进行关闭:
YourRecordSet.close
Set YourRecordSet=Nothing
Set YourConnection=Nothing
6. 取得数据库数据的方法比较
你是如何得到记录集的数据的呢?是不是用YourRecordSet(字段编号),还是
YourRecordSet("字段名称")?其实还有其他的使用方法,现在我们就比较一下吧(100条记录):
Rs("字段名称")
Rs("字段名").Value
Rs("字段编号")
Set方法
数据库回应时间
2.967秒
2.936秒
1.650秒
0.586秒
2.824秒
2.914秒
1.611秒
0.602秒
2.893秒
2.943秒
1.613秒
0.594秒
平均回应时间
2.895秒
2.931秒
1.625秒
0.594秒
这下知道了吧,前三种方法大家都可以看的明白,我就说说第四种方法(Set方法)如何使用:
程序代码
Dim strSQL
StrSQL="select name,sex,age from yourtable"
Dim rs
Set rs=server.createobject("ADODB.RECORDSET")
Rs.open strSQL,conn,1,1
Const fieldsOrder=2
Dim objOrder
Set objOrder=rs(fieldsOrder)
Response.write objOrder 'Set方法
二. 有关ASP内置对象使用方面的优化方法
1. 尽量减少Session对象和Application对象的使用
虽然ASP中提供的这两个对象对我们的编程提供了很大的帮助,但是,对这两个对象要合理的使用,不要滥用。因为大量的使用这两个对象将会极大的增大服务器的负担,严重消耗系统资源。也将使你的ASP程序运行慢如老牛。
2. 要及时的关闭不再使用的对象(尤其是Session和Application)
不及时的关闭你所使用的对象会导致系统运行速度变得缓慢。也许你会问,
Session和Application不是可以自动消失的吗?完全正确,系统默认30分钟内用户如果没有任何操作就自动触发Session_OnEnd和Application_OnEnd事件,但是大量的用户频繁的读取服务器,服务器将在很长的一段时间保持那些已经没有用的
Session,Application对象,如果不及时关闭使用完的Session和Application后果将不堪想象了。
关闭的方法是:
Set 对象=Nothing
三. 合理使用Include文件
我们这里说的是指用<!--#include file="xxx"-->形式包含进来的文件,并且文件内容全是ASP程序,也就是说你将一些公共的函数放到一个文件中,并在其他有可能调用其中函数的页面包含进来。
建议你不要将所有的函数放到一个包含文件中,因为你在其他页面包含这个文件的时候,服务器端是要进行预编译的,很可能在一个包含文件里面有上百个函数,而你只是想要使用其中的一个函数,这样就得不偿失了。所以,尽可能的分割你的包含文件成为多个小的包含文件。这样也可以提高程序的运行速度哦。
四. 有关VBScript语言方面的优化方法
1.尽量使用系统函数代替自己编写的函数
比如要想分割一个有规律的字符串("sss,ddd,fff,ggg"),就不必自己使用什么Mid(),Instr等等函数来分析了,其实VBScript就提供了一个函数 Split(),这样既省时间,又提高了速度,何乐而不为呢?
2.减少动态数组的使用
3.尽可能的养成提前声明变量的习惯
不要小看了这一条,提前声明变量会加快程序的解释执行时间。相反,从不声明变量,不但程序难以阅读,整个程序在服务器的执行效率也会大打折扣的。
五. 其他方面的优化方法
1. 在ASP文件中尽量使用<%%>嵌入到HTML标签中,而不要使用Response.write的方式,比如:
程序代码
<html>
<body>
<%If ok =1 then %>
Hello! World!
<%End If%>
</body>
</html>
就远远比:
<%
Response.write "<html>"
Response.write " <body>"
If ok =1 then
Response.write "Hello! World!"
End If
Response.write " </body>"
Response.write "</html>"
%>
的运行速度要快,尤其是你的ASP文件比较大的情况下。因为,第二种方式增加了服务器端的解释时间,因而也就降低了ASP程序的性能。
2. 尽量用一个ASP文件完成一个动作
很多人喜欢在一个ASP程序中同时完成诸如添加,删除,查找等等多个动作,不要认为这样是有效的利用了文件,相反,这样做的结果是使得应用程序的运行速度减慢很多。
应当将添加,删除,查找等分割成单个的独立的ASP文件来完成。这样使得文件不会过于庞大,降低服务器端解释执行的负担,并且阅读程序也很快捷。
好了,经过我们的全面优化,你的ASP应用程序是不是运行的更加稳定,更加快速了呢?
全面优化ASP应用程序的性能的方法
时间: 2024-10-02 05:44:52
全面优化ASP应用程序的性能的方法的相关文章
全面优化ASP应用程序的性能的方法_应用技巧
ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境,而在ASP中最常用的脚本语言就是VBScript了.虽然ASP的脚本语言很简单,但是要想让一个ASP程序能够最优化的运行也不是一件简单的事情. 现在国内的网络带宽很有限,网络十分拥挤,如何使得自己的ASP应用程序能够快速的运行就成为了每一个ASP程序员的梦想了.那就跟随我来一同加速你的ASP程序吧! 一. 有关
全面优化ASP应用程序的性能(转载)
程序|性能|优化 ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境,而在ASP中最常用的脚本语言就是VBScript了.虽然ASP的脚本语言很简单,但是要想让一个ASP程序能够最优化的运行也不是一件简单的事情. 现在国内的网络带宽很有限,网络十分拥挤,如何使得自己的ASP应用程序能够快速的运行就成为了每一个ASP程序员的梦想了.那就跟随我来一同加速你的ASP程序吧! 一. 有关操作数据库的优化方法 我们使用ASP最主要的用途就是对数据库进行操作了
优化ASP应用程序技巧四则
程序|技巧|优化|技巧|优化 本文将向大家介绍四则优化ASP应用程序的技巧. 1.将经常使用的数据缓存在 Application 或 Session 对象中 ASP的Application和Session对象为将数据暂存在内存中提供了方便的容器.你可以将数据指派到 Application和Session对象中,这些数据在HTTP调用之前保留在内存中.Session数据是按每个用户分别存储的,而Application数据则在所有用户之间共享. 什么时候将数据装载到 Application 或 Se
如何在64系统上监视32位模式下ASP.NET程序的性能
如何在64系统上监视32位模式下ASP.NET程序的性能?为何64位系统上的性能计数器会监视不了IIS32位模式下ASP.NET的性能呢? 发生此问题是因为 64 位版本的 Corperfmonext.dll 文件只能枚举 64 位进程. 此外, 32 - 位版本的 Corperfmonext.dll 文件只能枚举 32 位进程. 要在 64 位计算机上查看托管 32 位程序, 请依次单击 开始 . 运行 , 输入%SystemRoot%SysWOW64perfmon.exe然后单击 确定 .即
巧用缓存提高ASP应用程序的性能
程序|缓存|性能|缓存|性能 为了提高Asp程序的性能,人们常常将经常使用的数据缓存在 Application,但是你修改了数据库后怎么让application更新呢,本文给你提供了一个合理的解决办法. <%Class wawa_app_getrowspublic Function wawa_Get_List(strapp,strconn,strsql) '******************************** '功能:从Application中提取数组,如果application中的
8 种提升 ASP.NET Web API 性能的方法
ASP.NET Web API 是非常棒的技术.编写 Web API 十分容易,以致于很多开发者没有在应用程序结构设计上花时间来获得很好的执行性能. 在本文中,我将介绍8项提高 ASP.NET Web API 性能的技术. 1) 使用最快的 JSON 序列化工具 JSON 的序列化对整个 ASP.NET Web API 的性能有着关键性的影响. 在我的一个项目里,我从 JSON.NET 序列化工具转到了 ServiceStack.Text 有一年半了. 我测量过,Web API 的性能提升了20
8种提升ASP.NET Web API性能的方法
http://www.aliyun.com/zixun/aggregation/14156.html">ASP.NET Web API 是非常棒的技术.编写 Web API 十分容易,以致于很多开发者没有在应用程序结构设计上花时间来获得很好的执行性能. 在本文中,我将介绍8项提高 ASP.NET Web API 性能的技术. 1) 使用最快的 JSON 序列化工具 JSON 的序列化对整个 ASP.NET Web API 的性能有着关键性的影响. 在我的一个项目里,我从 JSON.NET
8 种提升 ASP.NET Web API 性能的方法 【已翻译100%】
ASP.NET Web API 是非常棒的技术.编写 Web API 十分容易,以致于很多开发者没有在应用程序结构设计上花时间来获得很好的执行性能. 在本文中,我将介绍8项提高 ASP.NET Web API 性能的技术. 1) 使用最快的 JSON 序列化工具 JSON 的序列化对整个 ASP.NET Web API 的性能有着关键性的影响. 在我的一个项目里,我从 JSON.NET 序列化工具转到了 ServiceStack.Text 有一年半了. 我测量过,Web API 的性能提升了20
怎样提高asp.net程序的性能及稳定性
问题描述 我这本地上运行我的程序很好但是一上传到服务器上,程序加载的很慢,而且程序加载出来了有的图片又显示不出来直到刷新几遍之后才可以慢慢恢复他原本的面貌··我现在要怎么弄才能避免这样的失误···能让客户得到很好的体验··· 解决方案 解决方案二:div+cssjs凡在页尾加载,不要加载太多东西,优化你的SQL语句.解决方案三:页面出不来,可能是图片太大了,或者页面太大.在本地体现不出来,在服务器上因为网速慢,就体现出来了.解决方案四:看看主要是什么影响了速度,是后台代码还是网络带宽太低?还是服