[英]How to prevent IIS from recycling Application Pool when a worker process is unresponsive
We have a WCF service which handles great amount of requests. 我们有一个WCF服务,可以处理大量请求。
As I discovered, when the number of cuncurrent requests exceed the limit of max cuncurrent connections, the consequent requests will be queued up to be executed later. 正如我发现的那样,当当前请求的数量超过最大当前连接的限制时,随后的请求将排队等待稍后执行。 if time-out happens before these requests have a chance to execute, IIS determins worker process in unresponsive and kills it (or recycles the app pool).
如果在这些请求有机会执行之前发生超时,则IIS会确定工作进程无响应,并杀死它(或回收应用程序池)。
The recycling process takes about one minute and meanwhile the service will be down which is a big problem for us. 回收过程大约需要一分钟,同时服务将中断,这对我们来说是个大问题。
Regardless of the cause of timeout and long response time in the code (which we are already working on it), my question is this: 不管代码中的超时和响应时间长的原因(我们已经在处理),我的问题是:
If we define more than one worker-process for this app-pool, what will happen if one of worker-processes is in the same situation? 如果我们为此应用程序池定义多个工作进程,那么如果其中一个工作进程处于相同情况,会发生什么? Does IIS recycle the app-pool or the particular worker-process will be killed and other ones keep serving the requests?
IIS是否会回收应用程序池,否则特定的工作进程将被杀死,而其他工作进程将继续处理请求?
If you have a several working processes in the app-pool (so called web garden) and one of them exceeds the limit of requests/memory/does not respond on ping, all of them will be recycled. 如果您在应用程序池中有多个工作流程(所谓的网络花园),并且其中一个超过了请求/内存/对ping不响应的限制,则所有这些流程都将被回收。
http://www.treeloop.com/blog/iis-application-domain-and-pool-recycling http://www.treeloop.com/blog/iis-application-domain-and-pool-recycling
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.