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