我在IIS7上有一个ASP.Net网站,我计划增加MaxProcesses以匹配服务器上的核心数(4核,64位Windows Server 2008)。
根据我的阅读,如果我增加MaxProcesses来创建一个Web园,我必须设置一个进程外状态服务器,所以我计划使用ASPState服务在工作进程之间共享会话。
但有些事情我不清楚,缓存是否也分享了?或者我是否必须为缓存设置新的自定义提供程序?
答案 0 :(得分:4)
进程内缓存永远不会在Web园中共享。
但这是真实的事情......我质疑你正在做的事情背后的动机。如果对象是更有效地使用核心,那么您可以增加运行ASP.NET应用程序的请求和/或工作线程的数量。运行多个w3wp进程不一定是您想要的选项。如果你有一些受约束的资源,比如一个旧的进程内COM对象,它与线程的扩展性很差,那么我可以看到你如何使用多个进程更好地扩展。但除非你真的知道自己在做什么以及为什么要这样做,否则请从该环境中轻轻退一步,将其保留在1.; - )
答案 1 :(得分:3)
不共享缓存。 Web园区创建了多个“w3wp”进程。每个进程都有自己的缓存。
答案 2 :(得分:3)
如果您想共享缓存,请使用MemCached Win32(使用Enyim缓存客户端)或使用新的MS产品Velocity。这样,一旦你超越一台服务器,你就已经在架构上进行了设置来处理它。