基于.NET的大中型网站性能优化的研究

2015-09-11 13:45何蕾
科技视界 2015年26期
关键词:优化策略

何蕾

【摘 要】越来越多的大中型网站都采用基于.NET的方式开发。从代码、页面、交互策略和数据库访问性能等方面对基于.NET的大中型网站的性能优化进行了研究。

【关键词】.NET;大中型网站;数据库访问;网站性能;优化策略

Research on the Optimization of Large and Medium Sized Websites Based on.NET

HE Lei

(Guangzhou College of Commerce, Guangzhou Guangdong 511363, China)

【Abstract】More and more large and middle scale websites are developed based on .NET. This paper studies the performance of large and medium - sized websites based on .NET from the aspects of code, page, interaction strategy and database access.

【Key words】.NET; Large and medium website; Database access; Website performance; Optimization strategy

随着计算机性能、网络技术的不断提高,以及高性能宽带的大规模普及,人们访问网站的速度越来越快,计算机处理网页功能的能力也越来越强,以至于使很多人都进入了一个误区:现在开发网站,主要精力应该放在页面设计和功能的实现上,而性能的优化已经无足轻重。这种想法在开发访问量和数据量小的小型网站的时候可能危害还不明显,但在开发访问量和数据量极大的大中型网站时就存在着极大的隐患了,很可能造成网站的反应速度慢,甚至在并发量高的时候造成网站的崩溃。

Microsoft .NET凭着平台无关性、多开发语言支持、丰富的类库以及强大的Web Service功能等特性,成为了目前大部分的大中型网站首先的方法。因此,加强对基于.NET的大中型网站的性能优化研究就显得非常必要和有意义了。

1 Microsoft .NET概述

Microsoft .NET是微软开发的以Web services为核心的新一代技术平台,通过这个平台,各种互联网上的应用程序可以进行互联,而无需理会这些应用程序是用什么编程语言开发的、是运行在哪种设备和操作系统上。开发人员可以使用C#、VB、VC++和java等语言来开发各种基于.NET的应用程序,编译后的应用程序可以运行在装有.NET Framework的任意平台上,实现一次编译、到处运行的思想。

2 大中型网站的性能优化

大中型网站大都基于Microsoft.NET开发的,而开发的语言则不尽相同。要提高这些网站的性能,可以从代码、页面设计、交互策略和数据库连接等方面去优化。

2.1 优化代码,提高代码执行效率

代码具有很大的灵活性,实现某一个功能,可能会有很多种编码方式,如果能够选择最好的实现方式,则可以提高代码的执行效率,从而提高网页的反应速度。

1)使用Foreach代替for语句

在C#中,foreach的平均执行时间只是for语句的30%,执行效率远高于for语句。所以,当foreach和for都可以达到效果的话,就建议采用foreach了。

2)多使用泛型集合

.NET从2.0版本开始,提供了一种强类型——泛型。泛型集合不会出现封箱和拆箱的情况,从而提高了代码的性能。

3)注意常量和变量的定义

声明字符串容器这类常量时,尽量避免采用把字符放进双引号中的做法,建议采用先把字符串定义为一个常量,然后把常量赋值给字符串容器。而对于循环体要用到的变量,建议在循环体外进行声明,然后在循环体内进行初始化。

4)合理使用字符串函数

当要对字符串进行不区分大小的比较时,尽量不采用先用UpperCase和Lowercase转换后再比较的方式,而是直接用String.Compare来进行比较,因为这个函数不区分大小写。

字符串的连接使用是非常频繁的,很多人习惯性的用连接符“+”对string对象进行连接,但这种方法比较浪费资源,因为每个string对象被创建后是只读的,每次对string赋值实质上都是创建了新的string对象。因此,在.NET中,可以使用StringBuilder类中的Insert、Remove和Append等方法来对字符串实行插入、移除和连接等各种操作,这种方法比使用连接符“+”更节省资源,从而可以提高网站性能。

2.2 优化页面设计,加快页面响应速度

在网站开发中,好的页面设计,特别是优化的HTML,可以大大加快页面加载速度,减轻服务器负担,从而提高网站的性能,提高用户体验。

1)减少页面加载对象的HTTP请求数量

当一个网页被打开时,浏览器会发出加载图片、脚本等对象的加载请求,每个请求都需要响应时间,如果加载的请求太多,会造成页面显示出现延迟,浪费了浏览者的时间。要减少HTT请求数量,可以从以下几个方面进行优化:

将多个JS文件或CSS文件合并为一个文件,如将body.css、side.css、footer.css合并为style.css,这样就将3个HTTP请求变成为1个HTTP请求。

将框架各部分的图片合并为一张图片,加载后使用CSS的背景切割功能来实现,这样可以加快图片的显示。

将脚本、CSS和图片等文件缓存在本地的Cache中,这样可以直接在本地调用,而不用再发送HTTP加载请求。

2)减小加载文件的大小,减少数据传送量

减小JS和CSS文件的大小:在JS或CSS文件中尽量使用简短的变量名称,删除注释、空白内容和无意义换行等,还可以利用服务器端的GZIP来压缩JS和CSS文件的大小。

减小页面内容:删除页面上冗余的空语句、空白行、注释、多余的符号和重复的页面元素的属性设置等内容。

减小页面资源的大小:现在页面包含的图片、视频、音频和动画等各种多媒体资源越来越多,尽量少用或者在不影响效果的前提下使用较小的页面资源会大大加快网页浏览速度。

3)使用良好的页面设计习惯,加快页面的解释和加载速度

有些良好的页面设计习惯也能加快网页的响应速度,如:同一个超链接URL字符串在不同页面、不同位置保持大小写完全一致;编写HTML代码时,保证各种标记有头有尾;用表格布局页面时,不要把整个页面放在同一个表格当中,而要将页面分割成几个表格来布局,这样就避免了因为表格的一部分内容无法访问而影响了整个页面的显示;不要把javascript房子HTML前面,这样会导致浏览器在处理javascript时影响后面网页的显示,所以,最好的办法是把javascript放到HTML的后面。

2.3 优化交互方式,减少服务器负载

1)尽量使用静态页面

动态页面使得网页与用户的交互变得非常方便灵活,也使得网页内容的变动变得简单方便。但动态页面需要服务器对数据库进行各种操作,无疑增加了服务器的工作量,会使网页响应速度明显放慢。因此,当对于经常要进行查询而内容又变化很少的部分,采用HTML静态化策略可以大大减少数据库的访问量。

2)尽量在客户端验证用户信息

在用户登录或注册页面,经常要对用户输入的内容进行合法性、格式、长度以及逻辑等方面进行验证。.NET提供了相关的类库,让开发人员省事不少。但这种验证方法都需要回传服务器(下转第94页)(上接第77页)去处理,降低了网站的性能。所以,应该尽量采用JS脚本的方式在客户端进行验证。

3)关闭非必须的Session功能

Session的作用是将用户的信息保存在服务器上,当有些页面需要用户授权时,就会查询session的状态,但每次这样的查询都会访问服务器,当大中型网站并发量大,要使用session状态查询的页面非常多时,对网站的性能就会造成一定的影响。所以,当有些页面没必要进行用户授权确认时,最好关闭session状态。在HTML中关闭session的方法是:page enablesessionstate=”false”。

2.4 优化数据库访问性能

网页,特别是动态网页需要频繁地访问数据库,而对于大中型网站来说,由于用户并发量大,页面功能多,对数据库的访问量是相当巨大的,因此,对数据库的访问性能进行优化就显得非常必要。

1)使用合适的数据供应器

.NET提供了多种数据供应器,这些数据供应器是访问数据库的基础。比较常用的数据供应器OLE DB和SQL Server。其中OLE DB主要用于ACCESS、SQL Server、Oracle等数据库,SQL Server则是用于SQL Server7.0以上版本的数据库。.NET为不同类型的数据库提供了特定的程序,因此。建议不同类型的数据库选择特定的数据供应器,这样会大大提高数据库的访问性能。

2)及时关闭已完成的连接

在大中型网站中,由于访问量巨大,数据库连接的对象是非常珍贵的,为了能够充分利用这些对象,已经打开的数据库连接,应该在其使用完后马上关闭连接,避免浪费系统资源。

3)充分利用数据库的存储过程

存储过程是已经编译好的存储在服务器上的SQL语句,善于利用存储过程可以避免重复分析和编译SQL命令,提高了网站的时效和性能。

此外,为表建立合适的索引、灵活使用视图、少用游标等等措施都能提高数据库的访问性能。

3 总结

从代码、页面设计和数据库访问等等方面对基于.NET的大中型网站进行优化,就一可以大大提高系统性能,解决访问量和并发量巨大带来的问题。

【参考文献】

[1]石建斌,刘倩倩.基于用户体验优化的团购网站导购策略研究[J].电子商务,2014,10.

[2]张天丹.网站链接数据分析与优化研究[J].牡丹江师范学院学报:自然科学版,2014,4.

[4][美]Adam Sills,Mesbah Ahmed,等.XML.NET编程指南[M].电子工业出版社,2003,1.

[责任编辑:汤静]

猜你喜欢
优化策略
高校思想政治教育存在的问题及策略研究
武汉市部分高职高专院校足球课的开展现状及制约因素
企业重大风险确定及管理建议的研究论述
分组合作学习在小学语文高效课堂教学中的应用探索