天天看点

一起谈.NET技术,.Net下的分布式缓存(3)--如果我们没有缓存会怎么样

   他们的页面输出绝大多数都是使用构造字符串要不就是Response.Write出来的,简单即是美,他们在写程序的时候即是严格遵守这个规则,反过来想想CommunityServer里面多达7层的继承关系的控件, 它看起来有点象是这个样子:(基本的)(网页的)(模版化的)(相册基本模版化的)(相册模版化的)(相册可更换风格的)XXX控件,瞧这一长串定语,它在每一层继承里面都实现了不同的特性, 结构其实还是蛮清晰的, POF有点象什么呢,手工打造的奥迪,性能没的说,就是麻烦点。那些B4 Discuz!NT的朋友是不是应该反思一下了呢.

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

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

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

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

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

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

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

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

继续阅读