ASP.Net increase MaxProcesses (web garden) using state server and caching

一个人想着一个人 提交于 2019-12-07 08:00:57

问题


I have an ASP.Net website on IIS7 and I am planing to increase the MaxProcesses to match the number of cores on the server (4 cores, 64bit Windows Server 2008).

From what I read, if I increase the MaxProcesses to create a web garden I have to set an out-of-process state server, so I am planing to use the ASPState service to share sessions between worker processes.

But there is something that is not clear to me, is Caching also shared? Or do I have to set a new custom provider for the cache?


回答1:


In-process cache is never shared in a web garden.

But here's the REAL thing... I question the motivations behind what you're doing. If the object is to use your cores more efficiently, then you can just increase the number of request and/or worker threads you have running your ASP.NET application. Running multiple w3wp processes isn't necessarily the option you want. If you have some constrained resource, like an old in-process COM object that scales poorly with threads, then I can see how you might scale better with multiple processes. But unless you really know what you're doing and why, gently step back from that setting and leave it at 1. ;-)




回答2:


Caching is not shared. The web garden creates multiple "w3wp" processes. Each process will have its own cache.




回答3:


If you want to share cache then use something like MemCached Win32 (with the Enyim cache client) or use the new MS product Velocity. This way once you move beyond one server you will already be set up architecturally to handle it.



来源:https://stackoverflow.com/questions/1290955/asp-net-increase-maxprocesses-web-garden-using-state-server-and-caching

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!