2016-05-23 2 views
0

Wir haben einen WCF-Dienst, der eine große Anzahl von Anforderungen verarbeitet.Verhindern, dass IIS den Anwendungspool wiederverwendet, wenn ein Arbeitsprozess nicht mehr reagiert

Wie ich entdeckte, wenn die Anzahl der cuncurrent Anfragen die Grenze der maximalen cuncurrent Verbindungen überschreiten, werden die konsequenten Anfragen in die Warteschlange gestellt, um später ausgeführt zu werden. Wenn es zu einer Zeitüberschreitung kommt, bevor diese Anforderungen ausgeführt werden können, ermittelt IIS, dass der Arbeitsprozess nicht mehr reagiert und beendet ihn (oder recycelt den App-Pool).

Der Recyclingprozess dauert ungefähr eine Minute und der Service wird in der Zwischenzeit ausfallen, was für uns ein großes Problem darstellt.

Unabhängig von der Ursache für Timeout und lange Reaktionszeit im Code (die wir bereits daran zu arbeiten), ist meine Frage:

Wenn wir mehr als einen Arbeiter-Prozess für diesen app-Pool definieren Was passiert, wenn sich einer der Arbeitsprozesse in der gleichen Situation befindet? Verarbeitet der IIS den App-Pool oder wird der bestimmte Worker-Prozess beendet, und andere warten weiterhin auf die Anfragen?

Antwort