【发布时间】:2009-02-20 21:41:07
【问题描述】:
我们有 22 台 HTTP 服务器,每台服务器都运行各自的 ASP.NET 缓存。他们从只读数据库中读取数据,该数据库仅在非高峰时段更新。
我们使用文件依赖项来使缓存无效,提示服务器“新建”他们的缓存...如果在高峰时段意外这样做,则可能会因打开的连接突然泛滥而导致我们的数据库集群崩溃.
有没有人以这种分布式形式将 memcached 与 ASP.NET 一起使用?在我看来,这将提供一个巨大的优势,即只需构建一个缓存(并且减少 21 次访问 DB),而 memcached 会处理将其分布在每个盒子上。
如果有,是把它和 HTTP 盒子放在同一个盒子上,还是运行一个单独的缓存层?它的扩展性如何,我们可以期望它需要强大的服务器吗?我们的工作数据集并不大(我们可以将其放入每个 HTTP 框的 4 gigs 内存中)。
你如何处理失效?
寻找经验和战争故事。
编辑:Win2k3、IIS6、64 位服务器...每盒 4 个演出(我相信,当我们更改为 64 位服务器时,我们可能已将其提高到 16 个演出)。
【问题讨论】: