首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >过程管理库

过程管理库
EN

Stack Overflow用户
提问于 2013-01-18 21:16:03
回答 1查看 457关注 0票数 1

我正在开发一个OLAP应用程序,WCF + Silverlight客户端(多达100个并发用户)。不幸的是,某个特定的服务调用有时会疯狂(尽管它非常有效,但过于复杂),偶尔(每月一次)会导致整个服务器瘫痪(通过消耗所有CPU)。

一个解决方案将包括杀死用户请求甚至整个用户会话,从业务角度来看,这对我们来说并不是什么大不了的事情--恢复/重新启动整个应用程序。

将用户会话隔离到单独的进程中的想法非常诱人:CPU/内存节流和干净的资源处理(不像Thread.Abort) --如果现代浏览器可以只为web页面这样做,那么也许是时候在服务器上这样做了。我们只想评估这个概念,看看在我们的特定场景中的利弊。

因此,问题是:

  1. 是否已经有一个用于管理进程的现有库/框架(比如预先生成/重用进程、节流、超时后终止)?
  2. 是否有任何“最佳实践”或指南如何创建这样的架构?
EN

回答 1

Stack Overflow用户

发布于 2013-01-19 05:41:31

我的WCF服务也有同样的问题,他们也为100多个客户服务。以及我使用IIS日志(C:\Windows\System32 32\LogFiles\HTTPERR)发现的问题,我在IIS设置的Application回收超时中发现了问题。应用程序池每48小时重新启动一次,这会导致已经订阅的客户端出现问题。因此,我建议1.分析http错误日志和IIS日志,这将提供更多关于所有应用程序池状态的信息(如果有关闭或回收的话)。2.如果应用程序池崩溃,则为Windbg设置并附加进程,设置正确的源文件路径。如果有任何异常发生,它会告诉您位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14407766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档