欢迎光临
我们一直在努力

全面优化ASP应用程序的性能(转载)-ASP教程,ASP应用

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

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文件来完成。这样使得文件不会过于庞大,降低服务器端解释执行的负担,并且阅读程序也很快捷

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 全面优化ASP应用程序的性能(转载)-ASP教程,ASP应用
分享到: 更多 (0)