asp.net优化探讨系列(3)

     其实我总结是为了能借此机会获得高手的指点,或者引起大家的讨论,前阵子我看到有评论.net 和php,实在又些不爽,所以就。。。就像前阵子的某段某段的风波一样,都要有个引子,呵呵,我愿意做这个引子,并希望得到你们的支持,我不是纯粹写总结,虽然这些很多东西大部分人都知道。我完全是抱着学习的心态来的,所以不要误会我有任何不削的什么,如果我犯错误,我可以真诚地向您道歉,前提是我真的有!
     我还想说可能我在组织这个系列的时候没什么经验,毕竟这是自己第一次尝试总结一个小小的系列,我希望有一个好的开始,所以我经过一定的考虑,勇敢地发上了首页。(幸亏dudu没那么快移走)呵呵,还记得那时候我刚上园子的时候,首页的文章确实是很大一部分难看懂,毕竟要有一定的基础,所以有时候简单点地文章看起来容易点!^_^
     好啦,顶住压力,继续总结!
    
编码细节优化数据访问:首先数据库的连接是很耗资源的,当然,我们有数据连接池,操作数据库连接不会真地去访问数据库建立连接。不过要知道其连接数可是有限的,所以我们应该尽量地晚点打开连接,并且尽早地关闭掉它!
Code
而不是将con.Open();放在省略号前面。
还有大家看看上面那句“select * from table”,写这句真是很爽啊,简单就把数据查询搞定,但是我们却把所有的字段都返回了,数据多了不少,增加了数据库地压力。
编码相关
1.你还在try吗,这个东西也是会损失一定的性能的,我们编码的时候一般都会对编码部分将要产生的错误有预见,可以用你的代码来解决,所以能免则免,当然,必要时还是要用的,如打开数据库连接等操作!
2.现在有泛型了,效率比原来的非泛型高了不少,避免了装箱和拆箱的性能损失!
3.字符串连接:大量的字符串连接,用StringBuilder肯定比string好,呵呵,废话,那么讲下原因,因为string连接时会产生一个临时的字符串在存储结果,消耗内存!
服务器的优化点滴分布式:一般我们都是将商业逻辑和数据访问等层部署在同一台服务器上,那么所有的压力全都集中在这台服务器上了,纵使他再强,也是捉襟见肘,难免承受不住!ok,现在有了wcf,再加上web service 和remoting,我们有很多选择,可以建立个web service ,将商业逻辑或数据访问放置其中,然后将其部署在另一台服务器。这样层层服务器之间的调用,分担了一定的压力!
静态资源:图片,音频文件等,如果部署在其他服务器上,那么压力是不是也减轻了不少呢,起码对显示层的请求文件数少了!呵呵
页面结构(有点离题)js加载:因为页面的显示是第一位的,所以应该将其放在页面最后,或者可以利用Dom,或服务端动态加载!
css:样式与结构分离,好处不用说,页面非常整洁,样式也比较统一,有的人甚至喜欢将样式分为基本样式,布局样式,内容样式等css文件,不过我喜欢堆在一起,分两个版本,一个是压缩过的,一个是没压缩过的,用来方便以后的修改!这样既减少请求数,又有利于维护!


posted @ 2008-01-16 13:02  Awen  阅读(3091)  评论(47编辑  收藏  举报