唐山网站建设

设为主页 加入收藏 繁體中文

构建高性能ASP.NET站点 网站优化需要考虑的方面

导读:作者燕洋天写了1系列关于ASP.NET的文章。我有段时间没有写ASP.NET的东西了,心里总是觉得缺少了甚么,究竟自己对ASP.NET还是情有独钟的。在本系列文章中,豫备比较全面的讲述ASP.NET的性能的优化,从前台到后台,以后本列文也看做为大家的1个手册来查询!以下是文章内容:

网站优化需要考虑的方面

在用ASP.NET开发网站的时候,性能是永久需要考虑和关注的题目,性能不单单只是程序代码履行时候的速度,而是触及到各个方面的东西。

就拿ASP.NET的1个要求来讲,从浏览器向服务器的ASP.NET网站发送要求开始1直到最后全部页面显现在我们眼前,其中要求经过的每1个步骤,都是有不同的调优方式的,而且调用的方法也很多,不单单只是常见的:缓存,多线程,异步等。

本系列的文章决定从两个大的方面来讲述调优:

前台调优:主要包括如何尽可能的减少http要求,从http要求开始,到如何加载js, css,如何紧缩传输的数据等。

后台调优:分析ASP.NET要求的处理进程,并在每1步给出相应的调优方法,而且在代码组织,架构和数据库的操纵上面给出调优的方法。

记得在刚刚开发网站的时候,1提到进步性能,最轻易也是最快想到的就是缓存,而且在微软官方的Best Practice的1些文档中也是建议:层层缓存(在数据存储层,DAL,BLL,UI等都要缓存)。然后在网站中就”缓存遍地开花”,最后的确切不尽人意。

另外的1个常见的优化针对数据库的:如尽可能减少子查询,使用join联接;在常常需要查询的字段上面建立索引。确切,这些是很通用,也不错的1些规则。

而且还有1个体会就是,在优化性能的时候,假设选择优化代码和数据库,常常优化数据库的1些操纵带来的效果会更加的好,很惋惜的是:在项目中(最少在我开发的1些项目中),数据库仅仅就只是1个数据的存储设备而已,仅此而已,没有发挥出数据库的强大作用。所以还是建议对数据库的内部查询和存储的机制要熟习,究竟很多时候开发职员也担负了DBA的工作(很多公司没有正式的DBA)。

而且在项目中我们设计数据库的时候,特别是表字段的时候,是需要有些考虑的,很多人建议表字段的长度不要太长,这也是大家常见的建议,但是为甚么?实在,这就需要知道1些数据库的内部存储机制了:在数据库(SQL SERVER )保存的时候,数据是以”页”为最小的单位的,每1页有8K的大小,假设你的1个表中的数据超过8K,那末这个表的数据就要分几个页面保存,这样在对数据进行查询的时候,就要跨页查询了,跨页是需要性能消耗的,假设数据都在1个页面上,那末速度肯定快些。

所以,要优化网站,就得知道性能消耗在哪里。

当优化的1个网站的时候,不是盲目的1概而论的,1般来讲有两种情况:

1、网站已存在了,并且运行了,现在要优化。

2、正在从头开发1个新的网站。

假设是第1种情况,那末首先要找出网站性能的瓶颈,从前台的要求的到后台的要求处理,1直到最后页面的显现,都要1步步的审查。

假设是第2种情况,可能情况就稍微好1点,并且网站现在完全由我们控制,所有在开发和设计的进程中便可以够采取很多的优化原则来优化。

优化不1定就是代码重写或做些很大的改动,优化时1点点的积累的,就比如代码的重构1样,都是1个积累的效果。比如,是在页面1开始的时候载进js脚本,还是在全部页面的最后载进js脚本,有时候常常就只是简单的调剂1下载进的文件,或异步的载进脚本,或通过CDN传输脚本等等方法,性能就提升了。性能的提升也不是没有代价的,有的代价很小,例如只是把脚本的载进放在页面最后,大的代价就是,例如买些服务器设备,如Content Delivery Network(CDN)来把静态的文件(js,css,image)传送到客户端。所以说,优化需要权衡策略。

不知道大家是否是有过这样的体会:当看着自己开发出来的系统性能很好的时候,自己是很自信的,相反,假设系统很慢,有时真不想说这个系统是自己做的。

http://www.fw8.net/


TAG:网站,数据库,性能,页面,缓存
评论加载中...
内容:
评论者: 验证码: