多缓存并存
昨天在听云风讲的《高性能健壮系统中的内存管理》中,对于其中一些观点很有感触,虽然云风是用C来做网络游戏的,C来做游戏在内存管理上跟网站的内存管理是由很大差异的,但是有很多理论也是相通的。
缓存是大家都知道的东西,对于网站来说,一个请求过来,有可能返回用户需要的数据过程中,使用了不止一个缓存,是多个缓存。即软件架构中,多缓存并存。这时候要注意什么?
简单来说一句话。
你如果要在A缓存外再起用了一个B缓存,那么B缓存能提高的性能应该比起直接访问A,性能要提升10倍以上。
更具体说一个实际的例子,
CSDN某个具体论坛的帖子列表功能,它启用了三个缓存。从用户访问到数据库,依次是:
1、IIS输出缓存
即ASPX页面的如下设置
<%@ OutputCache Duration="30" VaryByParam="*" %>
2、每个请求进程的缓存;
CommunityUser user = null;
//检查用户信息是否在HttpContext中存在
HttpContext context = HttpContext.Current;
if (context != null)
user = context.Items[cacheKey] as CommunityUser;
使用这个缓存是因为一个页面,我们有很多ASCX控件,再加上MasterPage页, 而这些页面对应的代码中,都会需要一些当前用户的信息,如果每次都从更底层的缓存取的话,这个消耗其实也不小。
3、进程外服务上的缓存;
为了保证缓存数据的可扩展性,非IIS进程,其他服务器也可以访问,CSDN的最底层的缓存是使用企业服务来实现的。访问这里的缓存会导致跨进程的,甚至跨服务器的访问。
上面三个缓存, 每个缓存一但命中,对他的访问,比下一级的缓存都起码有10倍以上的性能提高。就类似.net的垃圾回收中的0级对象区,1级对象区,2级对象区。 级数越低,访问性能越高,但是高级数的却是不可缺少的。
缓存是大家都知道的东西,对于网站来说,一个请求过来,有可能返回用户需要的数据过程中,使用了不止一个缓存,是多个缓存。即软件架构中,多缓存并存。这时候要注意什么?
简单来说一句话。
你如果要在A缓存外再起用了一个B缓存,那么B缓存能提高的性能应该比起直接访问A,性能要提升10倍以上。
更具体说一个实际的例子,
CSDN某个具体论坛的帖子列表功能,它启用了三个缓存。从用户访问到数据库,依次是:
1、IIS输出缓存
即ASPX页面的如下设置
<%@ OutputCache Duration="30" VaryByParam="*" %>
2、每个请求进程的缓存;
CommunityUser user = null;
//检查用户信息是否在HttpContext中存在
HttpContext context = HttpContext.Current;
if (context != null)
user = context.Items[cacheKey] as CommunityUser;
使用这个缓存是因为一个页面,我们有很多ASCX控件,再加上MasterPage页, 而这些页面对应的代码中,都会需要一些当前用户的信息,如果每次都从更底层的缓存取的话,这个消耗其实也不小。
3、进程外服务上的缓存;
为了保证缓存数据的可扩展性,非IIS进程,其他服务器也可以访问,CSDN的最底层的缓存是使用企业服务来实现的。访问这里的缓存会导致跨进程的,甚至跨服务器的访问。
上面三个缓存, 每个缓存一但命中,对他的访问,比下一级的缓存都起码有10倍以上的性能提高。就类似.net的垃圾回收中的0级对象区,1级对象区,2级对象区。 级数越低,访问性能越高,但是高级数的却是不可缺少的。
...全文
相关推荐
QQ多开安卓共存最新版2014
这种技术主要依赖于Android系统的沙盒机制和虚拟化技术,通过修改应用的签名和标识来实现多个副本的并存。
iscsi本地缓存(支持多盘符)
支持多盘符的ISCSI本地缓存意味着服务器可以同时管理多个独立的存储空间,每个盘符对应一个独立的虚拟磁盘。
面向5G的缓存辅助多天线中继策略
本文主要探讨了"面向5G的缓存辅助多天线中继策略"这一关键技术在5G通信系统中的应用。5G通信系统的需求日益增长,对于覆盖范围和数据传输速率有着更高的要求。缓存辅助多天线中继技术作为一种创新解决方案,
SqlCacheDependency 基于多表的缓存应用
### SqlCacheDependency基于多表的缓存应用#### 概述`SqlCacheDependency`是一种在.NET框架中用于实现依赖数据库变化自动清除缓存的技术。
基于用户中心访问行为的多臂缓存方法.pdf
现有的边缘缓存策略多为静态缓存,它们通常基于内容流行度已知的前提,例如内容流行度分布服从zipf分布,并假设内容流行度是非时变的。


其他
