ntwo

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

11 2010 档案

ASP.NET站点性能提升-线程
摘要:当网站访问文件或外部资源例如数据库或web service时,处理请求的线程需要等待这些资源响应,它会被阻塞。这个线程不能做任何事情,此时,可能有其它请求等待这个线程。 可以使用异步方法访问文件或外部资源解决这个问题。这些方法当开始等待时,就释放线程,而不是阻塞它,所以线程可以由其它请求使用。当资源空闲时,从线程池中获取一个新线程进行处理。 这章演示如果将阻塞线程的同步代码转换成异步代码。每个例子... 阅读全文

posted @ 2010-11-30 17:25 9527 阅读(1293) 评论(0) 推荐(1) 编辑

ASP.NET站点性能提升-缓存
摘要:缓存可以将web页面保存在访问者的浏览器、中间代理和服务器内存中。这样,就不用每次请求都重新生成页面,降低了CPU和数据库的负载。 浏览器缓存:保存文件在浏览器缓存中,这样浏览器就不需要下载页面。 代理缓存:保存文件在代理服务器上。 输出缓存:在web服务器上缓存.aspx页面,这样就不用重新生成页面,降低了CPU和数据库的负载。 基于IIS的缓存:使用IIS内置的缓存。 数据缓存:缓存... 阅读全文

posted @ 2010-11-24 20:14 9527 阅读(2780) 评论(1) 推荐(5) 编辑

ASP.NET站点性能提升-CPU
摘要:识别瓶颈 有多项技术可以在识别高CPU占用率代码: 重点关注频繁执行的代码。循环,特别是嵌套循环,需要特别注意。如果对使用继承自IComparable类进行排序,这段代码会执行得非常频繁。如果从数据库获取数据,每一行数据都要处理,这也会使用到循环。 可以使用轻量级的计数器,测量执行的频率和执行的时间。 进行老式的调试。对网站进行压力测试,这样会使用很多CPU。减少一半代码,如果CPU使用率减... 阅读全文

posted @ 2010-11-18 17:30 9527 阅读(975) 评论(0) 推荐(0) 编辑

ASP.NET站点性能提升-内存
摘要:本篇讨论以下内容: 网站中消耗内存的主要两类对象:托管资源和非托管资源。 托管资源的生命周期。 减少托管资源和非托管资源内存使用的方法。 减少session使用的内存。如果使用不当,session会占用很多内存。 托管资源 托管资源是在代码中使用new关键字在堆上创建的对象。 生命周期 当调用new创建对象时,会在托管堆上分配内存。这只会发在在分配区域的末尾,这样效率会很高。 当CLR在分... 阅读全文

posted @ 2010-11-17 14:22 9527 阅读(805) 评论(0) 推荐(0) 编辑

ASP.NET站点性能提升-缩短首页生成时间
摘要:以下瓶颈影响首页生成时间: 内存压力 缓存 CPU利用率 线程利用率 外部资源等待时间 如何查明瓶颈 内存 首先确定服务器是否耗尽了内存,如果是将会增加CPU使用率和磁盘I/O。因为,内存耗尽后,将会导致使用磁盘上的交换文件。因此,解决内存压力问题也能减少CPU和磁盘压力。 在命令行提示中运行perfmon,在性能监视器中增加Memory->Pages/sec计数器。这个计数器统... 阅读全文

posted @ 2010-11-15 15:36 9527 阅读(614) 评论(0) 推荐(0) 编辑

ASP.NET站点性能提升-宏观分析
摘要:ASP.NET站点性能提升系列内容来自《asp.net site performace secretes》。 使用瀑布图进行宏观分析 这里使用Firefox和Firebug生成瀑布图。 Firefox安装程序:http://www.mozilla.com/ Firebug安装程序:https://addons.mozilla.org/en-US/firefox/addon/1843/ 在Fire... 阅读全文

posted @ 2010-11-12 16:16 9527 阅读(421) 评论(0) 推荐(0) 编辑

.Net Framework中使用的模式-Singleton模式
摘要:标准结构 SqlConnectionFactory中的Singleton模式:Double Check 版本:使用volatile关键字禁止编译器对代码进行优化。.NET平台特定实现: 阅读全文

posted @ 2010-11-10 17:01 9527 阅读(230) 评论(0) 推荐(0) 编辑

.Net Framework中使用的模式-Prototype模式
摘要:标准结构 .net中通过实现ICloneable接口就可以实现Prototype模式。Clone可以实现浅拷贝和深拷贝。 阅读全文

posted @ 2010-11-08 16:20 9527 阅读(241) 评论(0) 推荐(0) 编辑

.Net Framework中使用的模式-Builder模式
摘要:标准结构 StringBuilder结构 StringBuilder中的Append方法提供了创建产品对象String的方法,可以多次调用这些方法。最后调用ToString()方法得到最终的产品。 在Builde模式中调用方不再是Client,而是Director,是因为Director可以决定调用Builder的哪一个BuildPart方法和调用次数。而在其它模式中的Client则没有这种自... 阅读全文

posted @ 2010-11-04 17:09 9527 阅读(235) 评论(0) 推荐(0) 编辑

.Net Framework中使用的模式-Abstract Factory模式
摘要:标准结构 Ado.NET的抽象工厂结构 抽象工厂基类DbProviderFactory,实现类SqlClientFactory、OracleClientFactory等。产品基类DbConnection、DbCommand、DbParameter等,实现类SqlConnection、OracleConnection等。伪码: public abstract class DbProviderFa... 阅读全文

posted @ 2010-11-02 17:02 9527 阅读(276) 评论(0) 推荐(0) 编辑

.Net Framework中使用的模式-Factory模式
摘要:标准结构: WebRequest结构: 在WebRequst中,不存在独立的Factory类,而是将创建方法做为产品基类的静态方法。这是一种工厂方法的常见变形。Create方法伪码: public abstract class WebRequest { public static WebRequest Create(string url) { if(url.BeginWith(“f... 阅读全文

posted @ 2010-11-02 16:23 9527 阅读(233) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示