再谈ASP.NET缓存机制:开发效率与优化的平衡

开发 后端
本文对ASP.NET缓存机制进行了深一步的探讨:开发效率与性能优化,应该寻找一个合适的平衡。缓存不是万能的,没有缓存也不是万万不能的。

不使用ASP.NET缓存机制的情况

上回说到了Memcached的性能问题,的确,缓存不是***的,但没有缓存是万万不能的?还真有这么干的. PlentyofFish就是这样做的, 它也是互联网上巨头中为数不多的采用WISC(Windows + IIS + Sql server + C#)架构的网站, MS不能老拿MySpace说事, 现在当然不会放过这个机会大肆宣传, 但是讽刺的是人家根本不用那些“看起来很美”的服务器控件,与其说是使用了.Net技术不如说是借用了这个平台而已. 他们的页面输出绝大多数都是使用构造字符串要不就是Response.Write出来的,简单即是美,他们在写程序的时候即是严格遵守这个规则,反过来想想CommunityServer里面多达7层的继承关系的控件, 它看起来有点象是这个样子:(基本的)(网页的)(模版化的)(相册基本模版化的)(相册模版化的)(相册可更换风格的)XXX控件,瞧这一长串定语,它在每一层继承里面都实现了不同的特性, 结构其实还是蛮清晰的, POF有点象什么呢,手工打造的奥迪,性能没的说,就是麻烦点。那些B4 Discuz!NT的朋友是不是应该反思一下了呢:)

话说回来, 这并不意味着那堆微软件挖空心思弄出来的Control就没有用了, 但对于中小应用来说我们更需要的是开发效率,再说负载量达不那么大,有过度优化之嫌, 合适的就是***的,能快速弄出让用户满意的东西才是最重要的。

ASP.NET缓存机制以外,其他值得注意的地方

我们来看看它里面的一些值得玩味的地方吧:

1. ***的照片请求都是由他们的服务器来完成处理的,但是它们都被缓存在内存中,并且大小都在2KB以下.

3. 使用Gzip技术虽然增加了30%的CPU开销但从节省的带宽情况来看是值得的.

4. 没有使用Asp.Net的缓存机制,因为数据更新太快了, 一旦它进入缓存就过期了.

5. 大量使用 if,else 或者 while + Response.Write这样的简单语句来实现功能.

6. 负载均衡(好象没有谁不用的)

每天3千万的页面访问量,服务器只有2 个WebServer + 3个DB Server,优化功夫实在是了得.

以上就对ASP.NET缓存机制进行了深一步的探讨:开发效率与性能优化,应该寻找一个合适的平衡。

本文来自沙加的博客:《.Net下的分布式缓存(3)--如果我们没有缓存会怎么样》

【编辑推荐】

  1. .NET分布式缓存之Memcached执行速度检测
  2. 如何避免ASP.NET缓存占用系统资源
  3. .NET缓存机制探讨与比对
  4. 概述ASP.NET缓存机制
  5. ASP.NET数据缓存之数据缓存浅谈
责任编辑:yangsai 来源: 沙加的博客
相关推荐

2009-08-04 15:22:33

ASP.NET缓存机制

2009-08-03 18:35:51

ASP.NET数据缓存

2009-08-17 16:59:36

ASP.NET缓存机制

2011-10-19 09:41:15

ASP.NET性能优化

2009-07-29 10:56:54

ASP.NET构架与安

2011-10-17 09:54:18

ASP.NET性能

2009-07-31 10:23:44

缓存页面ASP.NET缓存

2009-07-29 15:34:13

2009-07-29 09:38:06

Web开发ASP.NET

2009-07-31 10:33:54

ASP.NET页面输出

2009-07-29 14:35:34

页面输出缓存ASP.NET

2009-07-29 10:35:51

ASP.NET缓存

2009-11-09 08:53:21

ASP.NET缓存

2009-08-04 17:16:16

ASP.NET代码优化

2009-07-21 14:16:02

ASP.NET管道优化

2009-07-24 10:14:22

ASP.NET开发

2009-07-29 17:29:46

ASP与ASP.NET

2009-05-11 13:48:00

ASP.NET 2.0缓存效率

2009-08-03 18:47:12

ASP.NET数据缓存

2011-09-08 13:56:41

ASP.NET性能
点赞
收藏

51CTO技术栈公众号