随笔分类 -  构建高性能ASP.NET站点

讲述构建高性能ASP.NET站点的规则和要点
摘要:既然我们讲的是如何构建高性能的ASP.NET站点应用,那么我们就开始涉及网站方面的东西。我们说过,我们会把关注点放在“调优”上面。在调优的时候,我们没有必要把事情搞的很复杂,要“由表及里。从整体到局部”。对于一个站点而言,我们最直接看到的就是网站的页面。换句话说,如果站点性能处理问题,肯定在页面上面会有反应。一个最显而易见的反应就是:页面加载很慢,半天看不到内容。此时,我们可以进一步的分析,页面加载很慢,是什么原因导致的?这里还是从最简单的方面入手。没有必要想的很复杂,我们要清楚:页面是由什么组成的?很显而易见,一个页面,无非就是由Html文本,图片或者Flash,还有JS和CSS组成。换句话 阅读全文
posted @ 2013-03-12 09:39 小洋(燕洋天) 阅读(5078) 评论(7) 推荐(6) 编辑
摘要:构建高性能的ASP.NET应用(二)-性能优化演绎法在上一篇文章中我们已经强调了思考力的重要性,因为思考力就决定了后续的行动。很多的时候在构建一个高性能应用的时候,我们要知道如何去提高应用程序的性能,换句话说,我们要知道从哪些方面去提升性能,我们更要知道:如果出现了性能问题,我们如何定位,解决。大家可能会问:为什么本篇名称是“性能优化演绎法”。其实这是借用了破案推理中的一个概念,如果大家看过福尔摩斯,就知道我说的意思了。20130307021415.png(20.97 K)2013/3/8 11:21:31在现实项目中,其实我们遇到更多的就是“调优“:遇到性能问题,找出问题,将之解决,从而使得 阅读全文
posted @ 2013-03-11 11:26 小洋(燕洋天) 阅读(3468) 评论(3) 推荐(4) 编辑
摘要:主题:从案例引发的对缓存设计的思考背景: 谈到性能优化,势必要谈到缓存架构的设计与使用。几乎是所有人都知道缓存的威力,但是知道终归只是知道,如何真正合理的在自己的项目中进行使用,又是另外一回事了。我们团队为不少的公司的项目进行了性能与架构的优化,遇到了不少由于误用,滥用缓存带来的问题,这些项目的缓存不仅没有使得性能进行提示,反而成为了性能瓶颈。缓存的使用,没有定论,没有所谓“一定,必须等XXX这样”,没有这样的金科玉律,一切都是“根据项目的实际情况而定”,但是,我们看到的情况并不是这样的,我们也问过很多的人,回答让我们吃惊“上网大家都这样的用的啊,XXX就应该是这样的啊”。机械式的照搬,不带头 阅读全文
posted @ 2012-05-18 14:27 小洋(燕洋天) 阅读(3399) 评论(11) 推荐(4) 编辑
摘要:通过使用 Microsoft Windows 中内置的性能计数器,可以监视性能以判断设备需求。进行更改之后,可使用监视功能判断更改是否达到了预期的效果或者是否需要进一步的更改。 此主题介绍了可以用来监视下列硬件组件的计数器,并包括了每个组件的建议值和其他调整策略。监视内存(上) 监视处理器容量 (上)监视多处理器系统(上) 监视网络容量和带宽 (下)监视和优化硬盘(下)文章列表 监视和调整硬件性能(上) 监视和调整硬件性能(下)推荐阅读:技术人员,为什么会苦逼监视内存 解决内存不足的问题之后,IIS 上将获得最大的性能改善。在作出任何有关更改硬件配置的决定之前,应首选排除内存问题。应首先监.. 阅读全文
posted @ 2012-05-09 09:38 小洋(燕洋天) 阅读(4121) 评论(0) 推荐(3) 编辑
摘要:我们通过减少查询中的不必要的读取操作从而使得查询的性能得到提升。一个查询在数据库中执行的读操作越多,那么就对磁盘,CPU,内存的压力越大。除非整个数据库的数据全在在内存中,否则每次的读操作都会把数据从磁盘读入到内存中,然后返回。 一个查询在读取一个资源的时候,通过加锁会阻止其他的查询对这个资源进行修改,此时其他要操作这个资源的查询就需要等待,从而导致了延时。 诚然,有些等待是必须的,读取操作也是必须的,但是一些因为我们代码或者设计导致的过度的读取操作和等待,那就会严重影响性能,尤其是当数据库的访问量开始变大的时候。可以说在SQL Server中,最高效的读取数据方式就是通过索引去获取数据。如. 阅读全文
posted @ 2012-05-08 10:29 小洋(燕洋天) 阅读(5777) 评论(9) 推荐(9) 编辑
摘要:我们在本篇中接着讲述“工作进程回收机制”。本篇文章的议题如下: 工作进程回收机制讲解基于时间的回收机制 基于请求数的回收机制 基于内存使用的回收机制基于活动状态的回收机制系列文章:构建高性能.NET应用之配置高可用IIS服务器-第一篇:IIS必须掌握的知识构建高性能.NET应用之配置高可用IIS服务器-第二篇 IIS请求处理模型构建高性能.NET应用之配置高可用IIS服务器-第三篇 IIS中三个核心组件的讲解(上)构建高性能.NET应用之配置高可用IIS服务器-第三篇 IIS中三个核心组件的讲解(下)构建高性能.NET应用之配置高可用IIS服务器-第四篇 IIS常见问题之:工作进程回收机制(上 阅读全文
posted @ 2012-05-02 10:49 小洋(燕洋天) 阅读(5102) 评论(4) 推荐(5) 编辑
摘要:通过三篇文章的普及,相信大家对IIS应该有了一个基本的了解。那么从本篇文章开始,我们就开始进入IIS一些比较实际的话题:如何配置IIS,使得其性能尽可能的高。 系列文章:构建高性能.NET应用之配置高可用IIS服务器-第一篇:IIS必须掌握的知识构建高性能.NET应用之配置高可用IIS服务器-第二篇 IIS请求处理模型构建高性能.NET应用之配置高可用IIS服务器-第三篇 IIS中三个核心组件的讲解(上)构建高性能.NET应用之配置高可用IIS服务器-第三篇 IIS中三个核心组件的讲解(下)构建高性能.NET应用之配置高可用IIS服务器-第四篇 IIS常见问题之:工作进程回收机制(上) 我们. 阅读全文
posted @ 2012-04-17 12:05 小洋(燕洋天) 阅读(3516) 评论(2) 推荐(5) 编辑
摘要:系列文章:构建高性能.NET应用之配置高可用IIS服务器-第一篇:IIS必须掌握的知识构建高性能.NET应用之配置高可用IIS服务器-第二篇 IIS请求处理模型构建高性能.NET应用之配置高可用IIS服务器-第三篇 IIS中三个核心组件的讲解(上)构建高性能.NET应用之配置高可用IIS服务器-第三篇 IIS中三个核心组件的讲解(下)构建高性能.NET应用之配置高可用IIS服务器-第四篇 IIS常见问题之:工作进程回收机制(上) 今天的文章的比较的容易,主要讲述IIS中三个比较重要的组件:协议监听者(Protocol Listeners),WWW服务(World Wide Web Publis 阅读全文
posted @ 2012-04-16 11:15 小洋(燕洋天) 阅读(4213) 评论(6) 推荐(5) 编辑
摘要:如何提高Linq查询的性能(上) 自从Linq提出了之后,让很多的开发人员一阵的狂喜,编写代码似乎比以前更别的方便了,特别是随着Linq2Sql等推出来之后,开发人员感到了似乎手中有了强大的武器。同时,Linq2Sql带来的问题不断的出现,特别实在性能上面,这是让很多的多性能有着高要求的应用要放弃Linq2Sql系列技术的原因,并且很多回到了以前的ADO.NET技术,追求完全的控制。系列文章:如何提高Linq查询的性能(上)如何提高Linq查询的性能(下) 这里和大家分享一些知识。我们本篇文章不对谈了Linq系列技术是否好,是否改用,而是告诉那些将会或者已经使用了Linq技术的朋友,如何来提升 阅读全文
posted @ 2012-04-12 14:16 小洋(燕洋天) 阅读(6609) 评论(9) 推荐(4) 编辑
摘要:.NET性能分析最佳实践之:如何找出使用过多内存的.NET代码(基础篇) 在.NET应用中一个常常影响性能的因素就是代码消耗了过多的内存。很多的开发人员在编写代码的过程中常常不会关注性能,从而使得应用程序中到处存在性能瓶颈。很多的时候,开发人员关注的总是代码的执行时间的长短,而把真正的性能问题丢掉了一边。在本篇文章中,我们将会找出代码中的哪些功能消耗了多少内存。 本篇文章比较简单,我们会主要详细的介绍CLR Profiler这个工具。系列文章:.NET性能分析最佳实践之:如何找出使用过多内存的.NET代码(进阶篇本篇议题如下:基础篇:详解介绍Profiler的使用进阶篇:调用Profiler的 阅读全文
posted @ 2012-04-10 09:32 小洋(燕洋天) 阅读(6234) 评论(21) 推荐(14) 编辑
摘要:【高级内部资料】.NET数据批量写入性能分析 第二篇 在上一篇文章中,我们已经讲述了一些铺垫性的知识,那么从本篇开始,就开始正式的研究批量插入性能问题。 首先来看看,我们主要测试那些东西。因为我们本系列文章是研究SqlBulkCopy与SSIS的性能,所以,我们将他们进行详细的对比。对于SqlBulkCopy,我们主要对它的一下几个属性感兴趣,因为这些属性对性能的影响很大: Table locking:在进行批量插入数据的时候,往往会在要插入数据的表上创建一个排它锁,一方面,这个锁使得插入的更快;另一方面,也是的其他回话对此表的读取等操作都进入等待。我们会使用很多不同的场景来测试这个属性,让大 阅读全文
posted @ 2012-04-06 12:31 小洋(燕洋天) 阅读(3316) 评论(3) 推荐(3) 编辑
摘要:【高级内部资料】.NET数据批量写入性能分析 第一篇 说起数据的批量写入,相信大家应该不陌生了,那么我们本系列的文章不准备讲述如何来进行数据的批量写入,而是介绍常用的数据批量写入方法的性能分析。 同时,本篇问题的目的不是告诉大家,何种方式最好(很多人喜欢问“什么是最好的”,在技术中没有所谓的最好的技术,一切都要情况而定),而是给大家一些数据,让大家知道各种不同的情况对性能的影响,从而帮助大家更好地进行抉择。 在.NET环境中,数据批量写入的方式有很多,大家随便上面找一下就可以找到一大堆。在众多的数据批量写入方式中,SqlBulkCopy与SSIS是用的比较多,也是相对而言比较成熟的方案。也许大 阅读全文
posted @ 2012-04-05 13:15 小洋(燕洋天) 阅读(4862) 评论(5) 推荐(11) 编辑
摘要:提高ASP.NET性能与可伸缩性的几个个常用方法剖析在ASP.NET中,有很多提高性能和可伸缩性的方法,本篇就为朋友们介绍7个,朋友们可以适当的应用在项目之中。本篇的议题如下:ASP.NET管道优化ASP.NET处理配置的优化/Files/yanyangtian/提高ASP.NET性能与可伸缩性的几个常用方法剖析.pdfASP.NET管道优化 我们知道,在ASP.NET的处理机制的设计是基于管道模型的,ASP.NET的管道中,有很多的HttpModule。每个要处理的请求经过ASP.NET管道的时候,都会被其中的HttpModule拦截,进行相关的处理之后,再将请求发送给下一个HttpModu 阅读全文
posted @ 2012-04-01 08:48 小洋(燕洋天) 阅读(2971) 评论(4) 推荐(8) 编辑
摘要:构建高性能ASP.NET站点 第七章 如何解决内存的问题(前中篇)—托管资源优化—监测CLR性能 前言:在上一篇文章中讲述了一些垃圾回收的一些知识,本篇就讲述如何来监测CLR是否导致了一些性能问题。本篇的议题如下:内存问题概述(前篇)托管资源优化(前篇) 对象的生命周期(前篇) 对象的”代“(前篇) 大对象堆(LOH) (前篇) CLR计数器的使用 (中篇) CLR Profiler的使用(中篇) 垃圾回收器的不同版本(中篇) 对象使用注意事项(后篇) 常用优化措施(后篇)非托管资源优化Session会话的优化  系列文章链接:  构建高性能AS 阅读全文
posted @ 2011-02-21 10:04 小洋(燕洋天) 阅读(7098) 评论(11) 推荐(9) 编辑
摘要:构建高性能ASP.NET站点 第七章 如何解决内存的问题(前篇)—托管资源优化—垃圾回收机制剖析 前言:本章主要详细的讲述如何因内存问题而导致的性能问题,很多的时候都是深入.NET内核进行分析,然后给出解决方案,同时,本系列的其他文章,也争取做到:深入浅出。 本篇是为后面的做个铺垫,而且比较的精彩。只有真正的理解了本篇,后面才可以顺利的走下去。本篇的议题如下:内存问题概述(前篇)托管资源优化(前篇... 阅读全文
posted @ 2011-02-17 11:23 小洋(燕洋天) 阅读(7647) 评论(29) 推荐(25) 编辑
摘要:构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下后篇)—减少不必要的请求 前言:本篇的一些内容比较的有意思,总结了可能平时大家可以注意到的一些优化点,而且非常的实用。本篇的议题如下:识别和分析服务端的性能瓶颈(上)内存(前篇)缓存(前篇)CPU(后篇)处理请求线程(后篇)提高性能的一些简单改进措施(下) 部署优化(前篇) 减少不必要回传(前篇) 减少不必要的请求(后篇) 搜索引擎问题 热链接问题 验证码(CAPTCHA) 网络刮刀   系列文章链接:  构建高性能ASP.NET站点 开篇   构建高性能ASP.NET站点之一 剖析页面的处理过程(前端) 阅读全文
posted @ 2011-02-16 08:03 小洋(燕洋天) 阅读(6746) 评论(11) 推荐(12) 编辑
摘要:构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化措施 前言:本篇给出一些在部署ASP.NET站点时采用的简单的优化措施。同时很也非常的感谢朋友对昨天发的文章的支持,本篇的内容不多,也比较的简单! 本篇议题如下: 识别和分析服务端的性能瓶颈(上) 内存(前篇) 缓存(前篇) CPU(前篇) 处理请求线程(前篇)提高性能的一些简单改进措施(下) 部署优化(前篇) ... 阅读全文
posted @ 2011-02-15 08:20 小洋(燕洋天) 阅读(6795) 评论(11) 推荐(13) 编辑
摘要:构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(上篇)—识别性能瓶颈 前言:从本篇开始就真正的进入了性能调优的阶段,在之前的文章中提到了页面加载过慢的四个性能问题,其中第一个问题就是:服务端解析.aspx页面的时间过长,本篇就分析这个问题,给出一些方案,因为涉及到的问题很多,的在后续文章会逐个详细介绍。 因为本篇的篇幅过长,所以划分为了多篇。 本篇的议题如下: 识别和分析服务端的性能... 阅读全文
posted @ 2011-02-14 08:11 小洋(燕洋天) 阅读(10067) 评论(71) 推荐(34) 编辑
摘要:构建高性能ASP.NET站点 第五章—性能调优综述(后篇)前言:本篇主要讲述如何根据一些简单的工具和简单的现象来粗布的定位站点的性能问题。本章的议题如下:性能调优的一般过程利用分析工具分析页面加载信息利用分析工具分析性能瓶颈   系列文章链接:  构建高性能ASP.NET站点 开篇   构建高性能ASP.NET站点之一 剖析页面的处理过程(前端)  构建高性能ASP.NET站点之二 优化HTTP请... 阅读全文
posted @ 2011-02-11 07:42 小洋(燕洋天) 阅读(9139) 评论(33) 推荐(22) 编辑
摘要:构建高性能ASP.NET站点 第五章—性能调优综述(中篇)  前言:本篇主要讲述用一些简单的工具来分析一些与站点性能有关的数据,在上一篇文章中,我们讨论了一下性能调优的一般过程,本篇就开始介绍一些方法和工具,让大家快速的入门。  系列文章链接:  构建高性能ASP.NET站点 开篇   构建高性能ASP.NET站点之一 剖析页面的处理过程(前端)  构建高性能ASP.NET站点之二 优化HTTP请... 阅读全文
posted @ 2011-02-10 07:35 小洋(燕洋天) 阅读(8325) 评论(11) 推荐(14) 编辑