【发布时间】:2013-01-19 13:41:31
【问题描述】:
我正在开发一个 OLAP 应用程序、WCF + Silverlight 客户端(最多 100 个并发用户)。不幸的是,一个特定的服务调用有时会发疯(尽管它完全有效,只是太复杂了)并且偶尔(每月一次)会导致整个服务器停机(通过消耗所有 CPU)。
解决方案将涉及杀死用户请求甚至整个用户会话,从业务角度来看,这对我们来说没什么大不了的 - 恢复/重新启动整个应用程序。
将用户会话隔离到单独的进程中的想法非常诱人:CPU/内存节流和干净的资源处理(不像 Thread.Abort) - 如果现代浏览器可以仅针对网页执行此操作,那么也许是时候在服务器。我们只是想评估这个概念,看看在我们的特定场景中的利弊。
因此问题:
- 是否已有可用于管理进程(例如预生成/重用进程、限制、超时后终止)的库/框架?
- 是否有任何“最佳实践”或指南来创建此类架构?
【问题讨论】:
标签: c# .net web-services process