一、引言
随着互联网技术的不断发展,ASP(Active Server Pages)作为一种常用的动态网页技术,仍然被广大开发者所使用。
对于ASP主机的空间性能优化与管理,是提高网站运行效率、保障用户访问体验的关键环节。
本文将为您详细介绍ASP主机空间的性能优化与管理技巧。
二、性能优化
1. 数据库优化
在ASP主机中,数据库是最关键的组成部分之一。
数据库性能的优化直接影响整个网站的性能。
具体措施包括:
(1)定期清理数据库废品,删除冗余数据;
(2)优化数据库查询语句,减少查询时间;
(3)使用索引加速数据检索;
(4)考虑使用分页技术减轻数据库压力。
2. 代码优化
ASP代码的优化也是提升主机空间性能的关键。开发者应该注意以下几点:
(1)减少代码冗余,保持简洁明了;
(2)避免使用过于复杂的嵌套结构,简化页面结构;
(3)优化循环和条件语句,减少服务器处理时间;
(4)使用缓存技术,提高页面加载速度。
3. 服务器配置优化
合理配置服务器参数能有效提升ASP主机空间的性能。具体措施包括:
(1)调整IIS(Internet Information Services)配置,如增加并发连接数、调整应用程序池等;
(2)优化服务器内存分配,根据实际需求合理分配内存资源;
(3)定期更新服务器硬件,保证硬件设备的性能;
(4)选择合适的操作系统和数据库软件,确保兼容性。
三、管理技巧
1. 安全管理
ASP主机空间的安全管理至关重要,以下是几点建议:
(1)定期备份网站数据,以防数据丢失;
(2)使用强密码保护服务器和数据库,避免密码泄露;
(3)安装防火墙和入侵检测系统,防止恶意攻击;
(4)及时更新服务器软件,修复安全漏洞。
2. 资源管理
合理管理ASP主机空间的资源能有效提升服务器运行效率,具体措施包括:
(1)监控服务器资源使用情况,如CPU、内存、磁盘空间等;
(2)限制每个网站或应用的资源使用量,避免资源浪费;
(3)合理分配磁盘空间,保证网站正常运行所需的存储空间;
(4)定期清理服务器日志,释放磁盘空间。
3. 监控与日志分析
有效的监控和日志分析能帮助管理员及时发现并解决问题,具体措施包括:
(1)安装服务器监控软件,实时监控服务器运行状态;
(2)分析服务器日志,了解网站访问情况和服务器性能瓶颈;
(3 定期对监控数据进行汇总分析,发现问题并及时解决;(4)设置报警机制,当服务器出现异常时及时通知管理员。四、总结 本文详细介绍了ASP主机空间的性能优化与管理技巧,包括数据库优化、代码优化、服务器配置优化、安全管理、资源管理和监控与日志分析等方面。通过实施这些优化和管理技巧,可以有效提升ASP主机空间的性能,提高网站运行效率,保障用户访问体验。在实际操作中,管理员应根据服务器实际情况和需求选择合适的优化和管理方法,不断提高自身的技术水平和管理能力,为网站的发展提供有力保障。五、参考资料 [此处插入参考资料]
ASP的介绍``
1. 【动】角蝰(一种小毒蛇)[C]asp2ASP过时了!!KK: []DJ: []【诗】=aspenASP是Active Server Page的缩写,意为“活动服务器网页”。
ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。
ASP的网页文件的格式是,现在常用于各种动态网站中。
ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或web应用程序。
ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。
利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。
与HTML相比,ASP网页具有以下特点: (1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术; (2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试; (3)服务器上的ASP解释程序会在服务器端制定ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页; (4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。
例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息; (5)ASP可以使用服务器端ActiveX组建来执行各种各样的任务,例如存取数据库、发现哦那个Email或访问文件系统等。
(6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可放置ASP程序代码被窃取。
ASP的工作原理:当在Web站点中融入ASP功能后,将发生以下事情: 1、用户向浏览器地址栏输入网址,默认页面的扩展名是。
2、浏览器向服务器发出请求。
3、服务器引擎开始运行ASP程序。
4、ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTML页面内容。
5、页面信息发送到浏览器。
ASP的运行环境asp需要运行在PWS或IIS下。
PWS或IIS服务在windows98或windows2000的光盘上附带着,可以通过“添加/删除程序”中的“添加/删除windows组件”来安装。
一般asp需与access数据库或SQL Server数据库结合使用,编出功能强大的程序。
能够运行ASP的web服务器软件Windows2000默认安装的是IIS5.0(internet information server),而windows xp默认安装的是IIS5.1,windows 2003默认安装的IIS6.0。
PWS(personal web server)运行在windows98环境下的简单个人网页服务器。
ASP的意涵与特性ASP( Application Service Provider,应用软体租赁服务提供者 )即是指「透过网路以租赁方式提供应用软体服务的业者」,即是指业者以应用软体为主体,透过网路一对多地传递服务,这种以服务为主的交易模式促使企业可藉由租赁的方式,以更符合成本效益的方式拥有软体的使用权,并且亦能因为业者集中式的管理而大幅降低企业维护的成本.基本上,ASP即具有「软体服务化,服务网路化」,「资讯委外服务与网路结合」与「产品通路化,通路产品化」等三大特性,其甚至可以被视为是ISP(Internet Service Provider)与ITS(Information Technology Service)的结合的英文是Application Service Provider,中文的标准翻译就是“应用服务提 供商”,是指为商业或者个人客户提供管理应用解决方案的公司或者企业。
最近 ASP被媒体炒做十分火热,不是IT行业的人面对一堆技术名词专业术语很难弄清楚 ASP的内容,本文试图用浅显的语言来为广大的读者揭开ASP神秘的面纱,对于IT 行业的大热门ASP领域有一些基本的认识。
1. ASP是什么东西?简单地讲,ASP就是为客户提供服务的服务商,它和会计事物所、婚姻介绍所没有 什么本质方面的区别。
不同的是ASP主要是通过INTERNET(国际互联网络)作为主 要工作和业务工具,采用一对多的方式,向企业、公司提供标准化的应用软件以 及相关的技术咨询、管理租赁的服务,ASP的概念最早是1998年由美国人提出来的 。
目前被全球各大IT厂商看好并被认为是可以推动网络经济发展的,有稳固基础 的第三种网络商业模式。
和传统的外包服务(Outsourcing)相比,ASP的主要区别在于:ASP是一对多的经 营模式,提供的服务有兼容性和可协调性,并且ASP的收费方式一般是按月收费。
业界认为:ASP一般有这样一些“成员”:电信运营商、传统IT服务厂商、互联网 络接入服务商(ISP)、独立软件供应商(ISV)、系统集成商和单纯的ASP公司。
根据流行的观点,ASP有如下五个核心内涵:a. ASP着重应用为中心,提供对于应用方面的访问和管理。
b. ASP服务可以为用户提供没有在服务器、人员、系统和系统授权等前期资源投 入情况下就可以在“定制”的全新应用系统环境进行访问的服务,如ISP,而这样 的服务一般按月份ASP收取服务费。
c. ASP采用集中管理的方式---ASP一般都有一个管理中心,所有的客户通过INTE RNET来进行远程访问,获得技术支持和咨询服务。
d. 一对多的服务,也就是讲,ASP提供的是标准化的产品包,产品都是最低程度 的自定义或者没有实现客户定制化,对于行业用户来讲已经达到实用方便的标准 。
e. 按照合同交付,在ASP客户的眼中,ASP是一家根据客户协议内容提供相关服务 ,保证应用服务系统服务可以得到确实履行的机构。
2. ASP为什么会火? 从大的方面来讲,困扰国内企业生存、发展的核心问题是管理问题。
随着互联网 络的普及和应用的深入,企业用户可以随时随地直接租用ASP的服务器和软件系统 来进行自己的业务管理,这样做的好处在于;第一,企业可以节省大笔用于IT建 设方面的资金,大幅度降低企业管理信息化的成本。
第二,ASP的用户可以采用各 种方式获得应用和服务,软件类服务产品完全可以通过网络在非常短的时间内组 成一个完善的、高效的、先进的企业管理系统,迅速获得企业一体化的运营管理 方案。
网络经济发展突飞猛进,电子商务一日千里,网络和网站从门户到内容、从注意 力到垂直性,目前逐渐转向热衷ASP也是一个主要的原因。
笔者资料中,国内最早对ASP触电的是网友“飞鸟”,在1998年6月自发组织了研 究、交流和探讨ASP技术的“飞鸟之家”,现在已经发展成为,成为 国内最早的ASP应用技术服务提供商网站。
上海的互易网络有限公司结合国内实际 情况,推出了为国内企业服务的ASP平台互易网,向企业提供以电子商务为核心的 ,企业内、外部网络设施和应用的远程构架和托管服务,创造虚拟企业门户(EP )直接将ASP应用到商业增殖环节中去。
此外,ISP也全面转向ASP的怀抱,成为ISP进一步发展的产物。
软件商对于ASP更 是情有独钟。
业界最新的消息是,中国第三电信“网通”已经制定ASP发展战略, 国内最大的管理咨询公司“汉普”将把旗下八个子公司定位在企业内部资源计划 管理(ERP)领域的ASP中,北京“联成互动”瞄准客户关系管理(CRM)领域的A SP,北京“数码方舟”定位在网络办公的ASP,HP正在和中国建设银行讨论共建金 融领域的ASP。
ASP正在IT经济大潮中显山露水,其发展前景不可估量。
3. ASP的发展阶段和面临的问题以网络服务商、软件厂商和ISP为主力的各种IT角色,正在根据自己的优势条件出 发对ASP领域进行多种方面的尝试。
就目前阶段来讲,ASP提供的服务不计其数五 花八门,没有标准化和量化的概念,硬件厂商向ASP的“土壤”和势力方向靠拢, 软件厂商和ISP则直接参与到ASP业务的第一线。
笔者估计,经过一段时间的试探和发展,ASP将向服务集成方面发展,产品和服务 初步的标准化将很快建立起来,接着进入到市场细化和标准制定、ASP产品成熟时 期,ASP的稳步增长,最终将成为IT行业商务模式的核心!目前在ASP发展的道路上,主要面临的问题是观念的转变方面:用租赁代替购买, 服务集成代替产品经销商、服务经济代替产品经济等等。
具体到实际方面来讲, 安全和服务的质量是ASP和客户共同关心的头等大事,要实现ASP提出的“租赁高 科技”的口号,ASP任重而道远!ASP常用内置函数 1,日期/时间函数这些函数包括对“年”、“月”、“日”、“时”、“分”、“秒”、“星期”等的显示。
(1)Now函数:根据计算机系统设定的日期和时间,返回当前的日期和时间值。
使用方法now();(2)Date函数:只返回当前计算机系统设定的日期值。
使用方法:date();(3)Time函数:只返回当前计算机系统设定的时间值。
使用方法:time();(4)Year函数:返回一个代表某年的整数。
使用方法:year(date),其中date参数是任意的可以代表日期的参数,比如“year(date())”就表示是从“date()”得出的日期中提取其中“年”的整数。
另外,还可以这样应用:“year(#5 20,2006#)”表示提取“2006年5月20日”中“年”的整数值。
关于“5 20,2006”,也可使用“5-20-2006”、“5/20/2006”等形式表现,即“某月某日”和“某年”的组合。
同时注意使用“#”进行包括以表示日期值。
(5)Month函数:返回1到12之间的整数值,表示一年中某月。
使用方法:month(date)。
关于参数date的说明和year函数相同。
但要注意日期的正确性,比如“#13-31-2006#”,根本就没有“13”月,肯定是错误的了。
(6)Day函数:返回1到31之间的整数值,表示一个月中的某天。
使用方法:day(date)。
关于参数date的说明和year函数相同。
同样要注意日期的正确性,比如“#2-30-2006#”其中对“2”月定义的“30”日这天就是错误的。
(7)Hour函数:返回0到23之间的整数值,表示一天中的某个小时。
使用方法:hour(time)。
其中参数time是任意的可代表时间的表达式。
比如“hour(time())”就表示是从“time()”得出的时间中提取其中“小时”的整数。
同样,参数time还可以这样应用“hour(#11:45:50#)”表示从“11”时“45”分“50”秒中提取当前小时数。
当然,定义的时间要符合时间的规范。
(8)Minute函数:返回0到59之间的整数值,表示一小时中的某分钟。
使用方法:minute(time)。
time参数的说明和hour函数相同。
(9)Second函数:返回0到59之间的整数值,表示一分钟中的某秒。
使用方法:second(time)。
time参数的说明和hour函数相同。
(10)Weekday函数:返回一个星期中某天的整数。
使用方法:weekday(date)。
关于参数date的说明和year函数相同。
该函数返回值为“1”到“7”,分别代表“星期日”、“星期一”……“星期六”。
比如当返回值是“4”时就表示“星期三”。
(11)WeekDayName函数:返回一个星期中具体某天的字符串。
相对weekday函数而言即翻译出“星期几”,使用方法:weekdayname(weekday)。
参数weekday即星期中具体某天的数值。
比如“weekdayname(weekday(date()))”就表示当前是“星期几”。
因为“date()”表示的是当前的时间,而“weekday(date())”就表示的是一星期中具体某天的整数。
当然weekdayname函数最终显示的字符串内容还与当前操作系统语系有关,比如中文操作系统将显示“星期一”这类的中文字符,而英文操作系统则显示为“Mon”(Monday简写)。
此外,在VBScript中还有一些关于时间间隔的计算函数:(1)DateAdd函数:返回指定时间间隔的日期、时间。
可以计算出相隔多少年、或相隔几个月、又或相隔几个小时等的新日期、时间。
使用方法:dateadd(interval, number, date)。
其中参数interval表示需要添加的时间间隔单位。
其是以字符串的形式表达的,比如“yyyy”表示年,“q”表示季度,“m”表示月份,“d”表示天数,“ww”表示周数,“h”表示小时数,“n”表示分钟数,“s”表示秒数。
而参数number则表示添加的时间间隔数。
其是以数值的形式表达的,可以为负值。
参数date则要求是日期、时间的正确格式。
比如dateadd(d,100,2006-5-20)就表示2006年5月20号以后的100天的日期值:2006-8-28。
再比如dateadd(h,-12,2005-5-20 10:00:00)就表示2005年5月20号上午10点前的12小时的日期时间:2005-5-19 22:00:00。
(2)DateDiff函数:返回两个日期时间之间的间隔。
可计算出两个日期相隔的年代、小时数等。
使用方法:datediff(interval,date1,date2)。
参数interval和dateadd函数中的interval参数内容描述相同,date1和date2参数分别就是相互比较的两个日期时间。
另外,当date1的日期时间值大于date2时,将显示为负值。
比如DateDiff(yyyy,1982-7-18,date)表示某人的出生到现在已经多少年了。
又比如DateDiff(d,1982-7-18,2062-7-18)则计算了80年过了多少天。
2,字符串处理函数在脚本的功能处理中,通常需要对一些字符串进行一些修饰性处理。
比如过滤掉字符串中的敏感字眼以符合最终显示的要求;又比如一段较长的字符串,需要提取开头的几个字符时。
(1)Asc函数:返回字符串中第一个字母对应的ANSI字符代码。
使用方法:asc(string)。
其中string参数表示字符串。
(2)Chr函数:返回指定了ANSI 字符代码对应的字符。
使用方法:chr(chrcode)。
参数chrcode是相关的标识数字。
该函数的功能和asc函数形成对应。
比如:asc(“a”)表示小写字母“a”的ANSI 字符“97”;同样chr(97)表示的就是“小写字母a”。
另外chr(chrcode)中参数chrcode值为0到31的数字时,表示不可打印的ASCII码。
比如“chr(10)”表示换行符,“chr(13)”表示回车符等,这常用于输入和显示格式的转换中。
(3)Len函数:返回字符串内字符的数目(字节数)。
使用方法:len(string)。
比如len(“love”)的值就是4。
(4)LCase函数:返回所有字符串的小写形式。
使用方法:lcase(string)。
比如lcase(“CNBruce”)返回为“cnbruce”。
(5)UCase函数:返回所有字符串的大写形式。
与lcase函数形成对应。
同样,ucase(“CNBruce”)返回为“CNBRUCE”。
(6)Trim函数、LTrim函数和RTrim函数:分别返回前导和后续不带空格、前导不带空格或后续不带空格的字符串内容。
比如:trim(“ cnbruce ”)返回为“cnbruce”,前导和后续都不带空格;ltrim(“ cnbruce ”)返回为“cnbruce ”,前导不带空格;rtrim(“ cnbruce ”)返回为“ cnbruce”,后续不带空格;该函数常用于注册信息中,比如确保注册用户名前或后的空格。
(7)Left函数:返回从字符串的左边算起的指定数目的字符。
使用方法:left(string,length)。
比如left(“brousce”,5)返回为“brous”,即前五位字符。
(8)Right函数:返回从字符串的左边算起的指定数目的字符。
使用方法:right(string,length)。
比如right(“brousce”,4)返回为“usce”,即后四位字符。
(9)instr函数:返回某字符串在另一字符串中第一次出现的位置。
比如现在查找字母“A”在字符串“A110B121C119D1861”中第一次出现的位置,则可以 instr(my_string,A110B121C119D1861)(10)Mid函数:从字符串中返回指定数目的字符。
比如现在的“110”则应该是从字符串“A110B121C119D1861”的第2位取得3个单位的值:mid(A110B121C119D1861,2,3)(11)Replace函数:在字符串中查找、替代指定的字符串。
replace(strtobesearched,strsearchfor,strreplacewith)其中strtobesearched是字符串,strsearchfor是被查找的子字符串,strreplacewith是用来替代的子字符串。
比如 replace(rscon,<,<) 则表示将rscon中所有“<”的字符替换为“<”3,类型转换函数Cbool(string) 转换为布尔值Cbyte(string) 转换为字节类型的值Ccur(string) 转换为货币类值Cdate(string) 转换为日前类型的值Cdbl(string) 转换为双精度值Cint(string) 转换为整数值Clng(string) 转换为长整型的值Csng(string) 转换为单精度的值Cstr(var) 转换为字符串值Str(var) 数值转换为字符串Val(string) 字符串转换为数值4,运算函数Abs(nmb) 返回数子的绝对值Atn(nmb) 返回一个数的反正切Cos(nmb) 返回一个角度的余炫值Exp(nmb) 返回自然指数的次方值Int(nmb) 返回数字的整形(进位)部份Fix(nmb) 返回数字的整形(舍去)部份Formatpercent(表达式) 返回百分比Hex(nmb) 返回数据的16进制数Log(nmb) 返回自然对数Oct(nmb) 返回数字的8进制数Rnd 返回大于“0”而小于“1”的随机数,但此前需 randomize 声明产生随机种子Sgn(nmb) 判断一个数字的正负号Sin(nmb) 返回角度的正铉值Sqr(nmb) 返回数字的二次方根Tan(nmb) 返回一个数的正切值5,其他函数IsArray(var) 判断一个变量是否是数组IsDate(var) 判断一个变量是否是日期IsNull(var) 判断一个变量是否为空IsNumeric(var) 判断表达式是否包含数值IsObject(var) 判断一个变量是否是对象TypeName(var) 返回变量的数据类型Array(list) 返回数组Split(liststr) 从一个列表字符串中返回一个一维数组LBound(arrayP 返回数组的最小索引Ubound(array) 返回数组的最大索引CreateObject(class) 创建一个对象GetObject(pathfilename) 得到文件对象
asp网站安全要注意些什么
1、用户名与口令被破解防范技巧:涉及用户名与口令的程序最好封装在服务器端,尽量少在ASP文件里出现,涉及与数据库连接的用户名与口令应给予最小的权限。
2、验证被绕过防范技巧:需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。
3、inc文件泄露问题 防范技巧:程序员应该在网页发布前对它进行彻底的调试;安全专家则需要加固ASP文件以便外部的用户不能看到它们。
首先对文件内容进行加密,其次也可以使用文件代替文件使用户无法从浏览器直接观看文件的源代码。
4、自动备份被下载防范技巧:上传程序之前要仔细检查,删除不必要的文档。
对以BAK为后缀的文件要特别小心。
5、数据库下载漏洞(1)为你的数据库文件名称起个复杂的非常规的名字,并把它放在几层目录下。
(2)不要把数据库名写在程序中。
(3)使用Access来为数据库文件编码及加密。
现在有些人不用通过绕过登录就能直接进入后台了。
最流行的应该是通过一些注入软件来获取你数据库密码帐号与密码了。
以我的经验,中等安全后台应该做到如下几点:第一:后台管理密码用md5加密后存储。
第二:在链接文件(一般为conn文件)里添加防注入代码(在网络搜索防注入密码有很多,直接复制进去就行)。
第三:设置上传文件夹的权限,不给运行asp程序。
做好上面这些小动作后,你的网站应该就不会给黑了。
如果你的网站不算大型或者人气旺盛的网站,应该算安全了,不会有人专门来黑你网站的,好多人都是随机用注入工具来检索你网站能否通过注入进入后台然后上传木马的。
提高ASP.Net应用程序性能的十大方法[3]
这里没有足够的空间有贴代码 你可以从// rob howard net/中下载示例程序 请下载Blackbelt TechEd 的示例程序
七 页面输出缓存和代理服务
Asp net是你的界面层(或者说应该是) 它包含页面 用户控件 服务器控件(HttpHandlers 和HttpModules)以及它们生成的内容 如果你有一个Asp net页面用来输出 xml imgae或者是其它的数据 对每一个请求你都用代码来生成相同的输出内容 你就很有必要考虑用页面输出缓存了
你只要简单的把下面的这一行代码复制到你的页面中就可以实现了 <%@ PageOutputCache VaryByParams= none Duration= %>
你就可以有效的利用第一次请求里生成的页面输出缓存内容 秒后重新生成一道页面内容 这种技术其实也是运用一些低层的Cache API来实现 用页面输出缓存有几个参数可以配置 如上面所说的VaryByParams参数 该参数表示什么时候触发重输出的条件 也可以指定在Http Get或Http Post 请求模式下缓存输出 例如当我们设置该参数为VaryByParams= Report 的时候 default aspx?Report= 或者default aspx?Report= 请求的输出都会被缓存起来 参数的值可以是多个用分号隔开参数
许多人都没有意识到当用页面输出缓存的时候 asp net也会生成HTTP头集(HTTP Header)保存在下游的缓存服务器中 这些信息可以用于Microsoft Internet安全性中以及加速服务器的响应速度 当HTTP缓存的头被重置时 请求的内容会被缓在网络资源中 当客户端再次请求该内容时 就不会再从源服务器上获得内容了 而直接从缓存中获得内容
虽然用页面输出缓存不提高你的应用程序性能 但是它能减少了从的服务器中加载已缓存页面内容的次数 当然 这仅限于缓存匿名用户可以访问的页面 因为一旦页面被缓存后 就不能再执行授权操作了
八 用IIS 的Kernel Caching
如果你的应用程序没用运行在IIS (windows server )中 那么你就失去了一些很好的提高应用程序性能的方法 在第七个方法中 我讲了用页面输出缓存提高应用程序的性能的方法 在IIS 中 当一个请求到来到IIS后 IIS会把它转给asp net 当应用了页面输出缓存时 ASP NET中的HttpHandler会接到该请求 HttpHandler从缓存中把内容取出来并返回
如果你用的是IIS 它有一个非常好的功能就是Kernel Caching 而且你不必修改asp net程序中任何代码 当asp net接到一个已缓存的请求 IIS的Kernel Cache会从缓存中得到它的一份拷贝 当从网络中传来一个请求的时 Kernel层会得到该请求 如果该请求被缓存起来了 就直接把缓存的数据返回 这样就完工了 这就意味着当你用IIS的Kernel Caching来缓存页面输出时 你将获得不可置信的性能提升 在开发VS NET 的 asp net时有一点 我是专门负asp net性能的程序经理 我的程序员用了这个方法 我看了所有日报表数据 发现用kernel model caching的结果总是最快的 它们的一个共同的特征就是网络的请求和响应量很大 但IIS只占用了 %的CPU资源 这是令人惊奇的 有许多让你使用用IIS 的理由 但kernel cashing是最好的一个
九 用Gzip压缩数据
除非你的CPU占用率太高了 才有必要用提升服务器性能的技巧 用gzip压缩数据的方法可以减少你发送到服务端的数据量 也可以提高页面的运行速度 同时也减少了网络的流量 怎么样更好的压缩数据取决于你要发送的数据 还有就是客户端的浏览器支不支持(IIS把用gzip压缩后的数据发送到客户端 客户端要支持gzip才能解析 IE 和Firefox都支持) 这样你的服务器每秒能多响应一些请求 同样 你也减少了发送响应的数据量 也就能多发送一些请求了
好消息 gzip压缩已经被集成在IIS 中了 它比IIS 中gzip更好 不幸的是 在IIS 中启用gzip压缩 你不能在IIS 的属性对话中设置 IIS开发团队把gzip压缩功能开发出来了 但他们却忘了在管理员窗口中让管理员能很方便的启用它 要启用gzip压缩 你只能深入IIS 的xml配置文件中修改它的配置
除了阅读本文以外 只好再看看Brad Wilson写的<<IIS 压缩>>一文(// dotnetdevs /articles/IIS pression aspx) 另外还有一篇介绍aspx压缩基础知识的文章 Enable ASPX Compression in IIS 但是要注意 在IIS 中动态压缩和kernel cashing是互斥的
十 服务器控件的ViewState
ViewState是asp net中的一个特性 它用于把生成页面要用的一状态值保存在一个隐藏域中 当页面被回传到服务器时 服务器要解析 校验和应用ViewState中的数据以还原页面的控件树 ViewState是一个非常有用的特性 它能持久化客户端的状态而不用cookie或者服务器的内存 大部分的服务器控件都是用ViewState来持久化那些在页面中与用户交互的元素的状态值 例如 用以保存用于分页的当前页的页码
用ViewState会带来一些负面的影响 首先 它加大的服务器的响应和请求的时间 其次 每次回传时都增加了序列化和反序列化数据的时间 最后 它还消耗了服务器更多的内存
许多的服务器控件很趋于使用ViewState 如众所周知的DataGrid 而有时候是没有必须使用的 默认情况下是允许使用ViewState的 如果你不想使用ViewState的话 你可以在控件或页面级别把关闭它 在控件中 你只要把EnableViewState属性设为False就可以了 你也可以在页面中设置 使它的范围扩展到整个页面中 <%@ Page EnableViewState= false %>如果页面无需回传或者每次请求页面只是呈现控件 你就应该在页面级别中把ViewState关掉
总结
我只是提供我几个我认为有助于提高写高性能的asp net应用程序的技巧 本文提到的提高asp net性能的技巧只是一个起步 更多的信息请参考《Improving ASP NET Performance》一书 只有通过自己的实践 你才能找到对你的项目最有帮助的技巧 然而 在你的开发旅程中 这些技巧可以起一些指导性的作用 在软件开发中 这些都不是绝对有用的 因为各个项目都不一样
lishixinzhi/Article/program/net//