Der von mir entwickelte Webservice muss in maximal 6 Sekunden reagieren. Wenn der Webdienst in 6 Sekunden nicht antwortet, muss er mit einigen fest codierten Daten antworten.IIS/Azure IIS - maximale Reaktionszeit einschränken
Der Web-Service ist eine Art Proxy, der eingehende Daten transformiert und eine Anfrage an einen anderen Dienst stellt. Dieser Dienst ist ein Drittanbieter und kann zu lange ausfallen oder zu lange reagieren.
Gegenwärtig gibt es eine Einschränkung im Anwendungscode, der die Zeitüberschreitung für den Dienst eines Drittanbieters auf 3 Sekunden begrenzt (denken Sie daran, die Gesamtansprechzeit beträgt maximal 6 Sekunden).
Aber das Problem ist, dass die Anwendung sehr hoch geladen ist und manchmal nicht aktiviert ist, um ihren Code in Ruhe von 3 Sekunden auszuführen (aber ohne unseren App-Code in Millisekunden auszuführen, gibt es wirklich ein wenig Code). Ich glaube, dass Windows nicht aktiviert ist, um alle Threads auszuführen, und manchmal Threads für mehr als 3 Sekunden schlafen, und maximale Antwortzeit wird ohne die Möglichkeit, das zu umgehen, verletzt.
Die Anwendung wird in asp.net-Kern in C# und vollständig async entwickelt.
Also Frage: ist es möglich, Antwortzeit auf IIS-Ebene zu begrenzen? Ist es möglich, mit vordefinierten Daten zu reagieren, wenn eine Zeitüberschreitung aufgetreten ist? Gibt es eine Möglichkeit, Azure um zusätzliche Instanzen zu erweitern, um die Reaktionsfähigkeit zu verbessern? Gibt es einen programmatischen Weg, um Timeouts robust zu handhaben?
EDIT
Ich brauche
- Garantierte Reaktionszeit auf IIS mit hohen Last. Ist es überhaupt möglich auf Nicht-Echtzeit-Betriebssystemen?
- Wenn die Anfrage nicht rechtzeitig bearbeitet wird, senden Sie eine vordefinierte hartcodierte Antwort.
- dies selbst Für die Konfiguration
Es klingt wie Sie müssen die Ressourcen für Ihre Azure-Instanz erhöhen und/oder zusätzliche Instanzen mit Lastenausgleich hinzufügen. Sie sollten wahrscheinlich auch in Ihrem Anwendungscode nach Leistungsengpässen suchen und diese beheben. – user1666620