全面优化ASP应用程序的性能的方法

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应用程序是不是运行的更加稳定,更加快速了呢?

(0)

相关推荐

  • 全面优化ASP应用程序的性能的方法

    ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境,而在ASP中最常用的脚本语言就是VBScript了.虽然ASP的脚本语言很简单,但是要想让一个ASP程序能够最优化的运行也不是一件简单的事情.  现在国内的网络带宽很有限,网络十分拥挤,如何使得自己的ASP应用程序能够快速的运行就成为了每一个ASP程序员的梦想了.那就跟随我来一同加速你的ASP程序吧!  一. 有关操作数据库的优化方法  我们使用ASP最主要的用途就是对数据库进行操作了,如何更快速

  • 使用异步组件优化Vue应用程序的性能

    单页应用其一个问题是首屏屏渲染速度较慢.这是因为页面首次加载时服务器将向客户端发送大量JavaScript,在屏幕上显示任何内容之前必须下载并解析.可以想象,随着应用程序规模的扩大,这个问题对用户体验的影响也会越来越突出. 现在幸运的是,当使用Vue CLI构建Vue应用程序时(使用webpack),可以采取一些措施来抵消这种情况.在本文中,我将演示如何在应用程序的初始渲染之后使用 异步组件 和webpack的代码分割功能加载到页面的某些部分.这将使初始加载时间降至最低,并为您的应用程序提供更好

  • 在IIS中改变ASP.NET程序版本的实现方法附批处理代码

    在windows2003的iis6.0当中,在装过.NETFRAMEWORK1.1,和.NETFRAMEWORK2.0之后,在新建的ASP.NET应用程序中,查看属性,会出现ASP.NET的选项卡,在此可以更改该WEB应用程序是基于哪个框架运行的. 但是最近在装了64位的WINDOWSXP PROFESSIONAL后,找不到此选项卡了,只能通过如下方式修改: 在IIS管理器中,选择指定的WEB应用程序,右键-->属性-->configuration-->mapping-->根据需要

  • 分享提高ASP.NET Web应用性能的技巧

    在这篇文章中,将介绍一些提高 ASP.NET Web 应用性能的方法和技巧.众所周知,解决性能问题是一项繁琐的工作,当出现性能问题,每个人都会归咎于编写代码的开发人员. 那性能问题到底该如何解决?以下是应用系统发布前,作为 .NET 开发人员需要检查的点. 1.debug=「false」 当创建 ASP.NET Web应用程序,默认设置为「true」.开发过程中,设置为「true」是非常有用多,但在应用程序发布部署时,需将其设置为「false」. <compilation defaultLang

  • asp.net 程序性能优化的七个方面 (c#(或vb.net)程序改进)

    1.使用值类型的ToString方法 在连接字符串时,经常使用"+"号直接将数字添加到字符串中.这种方法虽然简单,也可以得到正确结果,但是由于涉及到不同的数据类型,数字需要通过装箱操作转化为引用类型才可以添加到字符串中.但是装箱操作对性能影响较大,因为在进行这类处理时,将在托管堆中分配一个新的对象,原有的值复制到新创建的对象中. 使用值类型的ToString方法可以避免装箱操作,从而提高应用程序性能. int num=1; string str="go"+num.T

  • ASP.NET中常用的优化性能的方法

    1. 数据库访问性能优化   数据库的连接和关闭  访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响.系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求.  连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能.因此,在建立数据库连接后只有在真正需要操作时才打开连接,

  • asp.net 程序优化精选第1/2页

    1.数据库访问性能优化 数据库的连接和关闭        访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响.系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求.连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能.因此,在建立数据库连接后只有在真正需要操作时才打开连接

  • Asp.net程序优化js、css实现合并与压缩的方法

    本文实例讲述了Asp.net程序优化js.css实现合并与压缩的方法.分享给大家供大家参考.具体实现方法如下: 访问时将js和css压缩并且缓存在客户端, 采用的是Yahoo.Yui.Compressor组件来完成的,用户可以点击此处本站下载. 创建一个IHttpHandler来处理文件 复制代码 代码如下: public class CombineFiles : IHttpHandler {         private const string CacheKeyFormat = "_Cac

  • 巧用缓存提高asp程序的性能

    <!--为了提高Asp程序的性能,人们常常将经常使用的数据缓存在 Application, 但是你修改了数据库后怎么让application更新呢,本文给你提供了一个合理的解决办法,如果谁有更好的算法,请跟帖讨论一下,谢谢 --> <% Class wawa_app_getrows public Function wawa_Get_List(strapp,strconn,strsql) '******************************** '功能:从Application中

  • ASP.NET 程序员都非常有用的85个工具

    介绍 这篇文章列出了针对ASP.NET开发人员的有用工具. 工具 1.Visual Studio Visual Studio Productivity Power tool:Visual Studio专业版(及以上)的扩展,具有丰富的功能,如快速查找,导航解决方案,可搜索的附加参考对话框等 ReSharper:提高.NET开发人员生产力的工具,提高代码质量,通过提供快速修复消除错误,等等 MZ-Tools:它可以在方法.文件.项目.解决方案或项目组.选定的文本,文件组合或项目组合中找到字符串.结

随机推荐