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

  上回说到了Memcached的性能问题,的确,缓存不是万能的,但没有缓存是万万不能的?还真有这么干的. PlentyofFish就是这样做的, 它也是互联网上巨头中为数不多的采用WISC(Windows + IIS + Sql server + C#)架构的网站, MS不能老拿MySpace说事, 现在当然不会放过这个机会大肆宣传, 但是讽刺的是人家根本不用那些“看起来很美”的服务器控件,与其说是使用了.Net技术不如说是借用了这个平台而已.

   他们的页面输出绝大多数都是使用构造字符串要不就是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,优化功夫实在是了得.

其它具体的东西可以看这个Post.

相关文章:

.Net下的分布式缓存--从Discuz!NT的缓存设计谈起

.Net下的分布式缓存(2)--如果我们没有缓存会怎么样

时间: 2024-10-22 16:26:00

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

一起谈.NET技术,.Net下的分布式缓存--从Discuz!NT的缓存设计谈起

最近拜读了代振军同学写的关于Discuz!NT的缓存设计的一篇文章<Discuz!NT 缓存设计简析 [原创]>,颇有些想法,姑且写在这里让大家拍砖吧. 缓存真是个好东西,在大型的系统中可以有效地提升系统的速度,此乃废话就不多说了,在.Net 平台下面我把缓存从功用大致分为两类,数据对象缓存和页面输出缓存. 对于数据缓存来讲是由System.Web.Caching.Cache这个类来实现,可以从上下文对象Context.Cache 来获取这个对象的引用.而页面/控件输出缓存则是由.Net环境在

一起谈.NET技术,.Net下的分布式缓存(2)--实现分布式缓存同步的手段

前不久,俺写了篇文章谈到了.Net下面的分布式缓存的一些问题,并结合DNT里面实现模式发表了一些自己的看法,近来通过学习相关的东西又有了一些新的体会, 写在这里作为分布式缓存列系文章的第二部分. 其实对于性的扩展无非是Scale Up(向上扩展)或者是Scale Out(向外扩展), 微软对此的看法是一个App的缓存最好是以它自己为物理边界进行读写,而不要放到别处去,这样带的问题可能有对象的序列化传送,反序列化,网络连接开销,跨进程的开销,对于高性能的站点来说都是不能忽视的问题.出于对这些因素的

一起谈.NET技术,ASP.NET缓存全解析7:第三方分布式缓存解决方案 Memcached和Cacheman

ASP.NET缓存全解析文章索引 ASP.NET缓存全解析1:缓存的概述 ASP.NET缓存全解析2:页面输出缓存 ASP.NET缓存全解析3:页面局部缓存 ASP.NET缓存全解析4:应用程序数据缓存 ASP.NET 缓存全解析5:文件缓存依赖 ASP.NET 缓存全解析6:数据库缓存依赖 ASP.NET 缓存全解析7:第三方分布式缓存解决方案 Memcached和Cacheman Memcached - 分布式缓存系统  1.Memcached是什么? Memcached是高性能的,分布式的

.Net下的分布式缓存--从Discuz!NT的缓存设计谈起

最近拜读了代振军同学写的关于Discuz!NT的缓存设计的一篇文章<Discuz!NT 缓存设计简析 [原创]>,颇有些想法,姑且写在这里让大家拍砖吧. 缓存真是个好东西,在大型的系统中可以有效地提升系统的速度,此乃废话就不多说了,在.Net 平台下面我把缓存从功用大致分为两类,数据对象缓存和页面输出缓存. 对于数据缓存来讲是由System.Web.Caching.Cache这个类来实现,可以从上下文对象Context.Cache 来获取这个对象的引用.而页面/控件输出缓存则是由.Net环境在

区块链技术的本质是分布式数据库

本文讲的是区块链技术的本质是分布式数据库,区块链技术是基于比特币应用提出的一个概念,他是一个融合了多种技术的一个集成式创新.目前区块链的应用早已不仅仅局限在比特币上.人们在谈论或使用"区块链"这个词时,有时候是指技术的商业应用,有时是指技术实现本身. 在<区块链的业务价值是通过数据共享降低信任成本>一文中,我论述了应用区块链技术的商业价值,有在多方参与的场景下更适合采用区块链技术,也提到了区块链的技术特征:(1)多副本.(2)可靠记录.(3)不可篡改.(4)多方透明几个特性

浅谈软件项目管理环境下的质量管理

浅谈软件项目管理环境下的质量管理 摘要:软件项目管理是为了使软件项目能够按照预定的成本.进度.质量顺利完成,而对成本.人员.进度.质量.风险等进行分析和管理的活动.软件项目的质量管理就是产出的软件,满足客户明确需求.隐含需求的能力的所有特性.在现实生活中,监控所有对质量有影响的关键点,采用有效的测量手段来管理软件的质量,从而实现软件项目的"高"质量.使软件项目管理较之其他项目管理而言有其特殊性.采用CMM标准可以确保软件项目的质量,CMM是美国卡纳基梅隆大学软件工程研究所提出的软件研发

一起谈.NET技术,案例分析:Silverlight在中国人寿的应用

笔者自2003年首次听到Macromedia公司提起RIA(富互联网应用)一词到现在整整7年了.一度被认为是互联网应用趋势的RIA经历了7年之痒,但仍然没有在互联网上得到大规模普及,特别是企业应用就更加少见.做个不恰当的比喻,传统基于Html的应用就像互联网应用中的绿叶一样,而RIA技术由于酷炫的用户体验效果就像是美丽的花朵.现在开心网和腾讯QQ等商业应用中已经运用了RIA技术在其社交网站中得到应用,但这毕竟还是少数,大多数互联网应用特别是企业级应用仍然选择传统高稳定性与高响应能力的Html应用

一起谈.NET技术,关于静态页和SEO的看法

我们先来讨论一下,什么叫做"静态页".有朋友说,放在硬盘上的htm或html文件便是一种静态页,Web服务器不需要做额外的处理,直接读取文件内容并输出就可以了,而这样的静态文件对于SEO是有帮助的.至于理由,是搜索引擎会对html结尾的文件给更好的权值(这好像还是结论,不是理由),而这是"常识","了解一点SEO的人都知道这个","人们普遍在使用的做法",因此"它一定是正确的".不过其实Google并不这么

一起谈.NET技术,.NET的资源并不限于.resx文件,你可以采用任意存储形式 [下篇]

在<上篇>中我们谈到ResourceManager在默认的情况下只能提供对内嵌于程序集的.resources资源文件的存取.为了实现对独立二进制.resources资源文件的支持,我们自定义了BinaryResoruceNManager.在本篇中我们还将创建两个自定义的ResourceManager,以实现对独立.resx资源文件和自定义结构的XML资源文件的支持.(文中的例子从这里下载) 一.自定义ResXResourceManager实现对.Resx资源文件的支持 二.将资源定义在自定义结