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

网站优化需要考虑的方面

在用ASP.NET开发网站的时候,性能是永远需要考虑和关注的问题,性能不仅仅只是程序代码执行时候的速度,而是涉及到方方面面的东西。

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

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

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

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

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

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

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

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

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

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

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

2. 正在从头开发一个新的网站。

如果是第一种情况,那么首先要找出网站性能的瓶颈,从前台的请求的到后台的请求处理,一直到最后页面的呈现,都要一步步的审查。

如果是第二种情况,可能情况就稍微好一点,并且网站现在完全由我们控制,所有在开发和设计的过程中就可以采用很多的优化原则来优化。

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

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

原文链接:http://www.cnblogs.com/yanyangtian/archive/2011/02/11/1951055.html

转载于:https://www.cnblogs.com/zhaoyx/articles/1989511.html

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

  1. 构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化...

    构建高性能ASP.NET站点 第六章-性能瓶颈诊断与初步调优(下前篇)-简单的优化措施     前言:本篇给出一些在部署ASP.NET站点时采用的简单的优化措施.        本篇议题如下:     ...

  2. 构建高性能ASP.NET站点 第七章 如何解决内存的问题(后篇)—托管资源优化—监常用优化措施...

    构建高性能ASP.NET站点 第七章 如何解决内存的问题(后篇)-托管资源优化-监常用优化措施   前言:有段时间没有写这个系列了,希望大家见谅,本篇主要将会介绍一些常用的CLR优化措施. 本篇的议题 ...

  3. 【原创】构建高性能ASP.NET站点 开篇

    原文:[原创]构建高性能ASP.NET站点 开篇 构建高性能ASP.NET站点 开篇 前言:有段时间没有写ASP.NET的东西了,心里总是觉得缺少了什么,毕竟自己对ASP.NET还是情有独钟的. 在本 ...

  4. 构建高性能ASP.NET站点 开篇

    前言:有段时间没有写ASP.NET的东西了,心里总是觉得缺少了什么,毕竟自己对ASP.NET还是情有独钟的. 在本系列文章中,准备比较全面的讲述ASP.NET的性能的优化,从前台到后台,以后本列文也看 ...

  5. 转:构建高性能ASP.NET站点 第五章—性能调优综述(中篇)

    构建高性能ASP.NET站点 第五章-性能调优综述(中篇) 前言:本篇主要讲述用一些简单的工具来分析一些与站点性能有关的数据,在上一篇文章中,我们讨论了一下性能调优的一般过程,本篇就开始介绍一些方法和 ...

  6. 【原创】构建高性能ASP.NET站点 第五章—性能调优综述(后篇)

    构建高性能ASP.NET站点 第五章-性能调优综述(后篇) 前言:本篇主要讲述如何根据一些简单的工具和简单的现象来粗布的定位站点的性能问题. 本章的议题如下: 性能调优的一般过程 利用分析工具分析页面 ...

  7. 构建高性能ASP.NET站点之二 优化HTTP请求(前端)

    上一篇文章主要讲述了请求一个页面的过程,同时也提出了在这个过程中的一些优化点,本篇就开始细化页面的请求过程并且提出优化的方案.同时,在上篇文章中,不少朋友也提出了一些问题,在本篇中也对这些问题给出了回 ...

  8. 构建高性能ASP.NET站点

    http://www.cnblogs.com/yanyangtian/archive/2011/02/10/1950493.html 转载于:https://www.cnblogs.com/CoolC ...

  9. 建高性能ASP.NET站点 第五章—性能调优综述(中篇)

    构建高性能ASP.NET站点 第五章-性能调优综述(中篇) 前言:本篇主要讲述用一些简单的工具来分析一些与站点性能有关的数据,在上一篇文章中,我们讨论了一下性能调优的一般过程,本篇就开始介绍一些方法和 ...

最新文章

  1. 汇编原理实验--输出ASCII码10H到100H
  2. class mywnd : pubic qwidget是什么意思_学了这么久java反射,你知道class.forName和classloader的区别吗?...
  3. sql注入一点小心得
  4. 埃拉托斯特尼筛法 快速查找素数
  5. Strus2中关于ValueStack详解
  6. 最优化学习笔记(十二)——基本共轭方向算法(续)
  7. 语言兔子繁衍问题讲解_颍湄脞録兔子不搁那窝里
  8. 100个最古老互联网域名 最久只有23年(附名单)
  9. python货币转化为资本的前提_深度剖析比特币背后的技术细节
  10. 数据结构 周末舞会(循环队列解法)
  11. 华为 eNSP 模拟器安装教程(内含下载地址)
  12. html5演讲ppt,制作ppt太麻烦?用上这5款黑科技PPT模板,汇报、演讲瞬间高大上
  13. PID控制的现象与本质
  14. 口袋奇兵:在线翻译场景试点 Serverless 技术历程
  15. 空格键除了敲空格外的多种用途
  16. 作为一枚程序员,每天必用的软件有哪些?
  17. C#实现SqlServer连接查询
  18. 2022年计算机软件水平考试电子商务设计师(中级)练习题及答案
  19. MySql实验嵌套查询_数据库实验:SQL嵌套查询
  20. PHP(2):PHP读取MS Sql Server 2014数据库数据

热门文章

  1. xshell vim 不能粘贴_编辑器之神——vim的入门指南
  2. android问题总结报告,Android开发中常见的问题总结
  3. python学习-数据类型(布尔、空值)
  4. 魅蓝note6android8,魅蓝Note6屏幕尺寸_魅蓝Note6屏幕多大-太平洋IT百科
  5. axure 小程序 网盘_万门大学微信小程序实战开发特训班【完结】网盘高清全套最新系列精品课程...
  6. python matplotlib设置字体_Matplotlib中修改字体属性
  7. ssh远程工具_良心国产工具,比Xshell好用还免费!
  8. 鸿蒙2.0都来了,快搭个环境玩起来吧!
  9. 2万人同时访问 nodejs_面向前端工程师的Nodejs入门手册(一)
  10. 易语言html规则分析,易语言算法原理浅析【一】(示例代码)