我正在开发一个OLAP应用程序,WCF + Silverlight客户端(多达100个并发用户)。不幸的是,某个特定的服务调用有时会疯狂(尽管它非常有效,但过于复杂),偶尔(每月一次)会导致整个服务器瘫痪(通过消耗所有CPU)。
一个解决方案将包括杀死用户请求甚至整个用户会话,从业务角度来看,这对我们来说并不是什么大不了的事情--恢复/重新启动整个应用程序。
将用户会话隔离到单独的进程中的想法非常诱人:CPU/内存节流和干净的资源处理(不像Thread.Abort) --如果现代浏览器可以只为web页面这样做,那么也许是时候在服务器上这样做了。我们只想评估这个概念,看看在我们的特定场景中的利弊。
因此,问题是:
发布于 2013-01-19 05:41:31
我的WCF服务也有同样的问题,他们也为100多个客户服务。以及我使用IIS日志(C:\Windows\System32 32\LogFiles\HTTPERR)发现的问题,我在IIS设置的Application回收超时中发现了问题。应用程序池每48小时重新启动一次,这会导致已经订阅的客户端出现问题。因此,我建议1.分析http错误日志和IIS日志,这将提供更多关于所有应用程序池状态的信息(如果有关闭或回收的话)。2.如果应用程序池崩溃,则为Windbg设置并附加进程,设置正确的源文件路径。如果有任何异常发生,它会告诉您位置。
https://stackoverflow.com/questions/14407766
复制相似问题