2017-10-17 5 views
1

Ich versuche herauszufinden, welche Konfiguration ich für Timeouts in meiner Net Core WebApp verpasst habe. Ungefähr 0,5% der Anfragen werden mit 408 Statuscode in App Insights protokolliert. Ich habe die Einstellung requestTimeout in web.config angewendet und die Einstellungen für Kestrel konfiguriert. Die automatische Skalierung hält die CPU-Last unter 70%. Habe ich etwas in der Konfiguration verpasst? Ich kann nicht verstehen, warum diese TimeoutsAsp Net Core Timeouts

.UseKestrel(options => 
{ 
    options.Limits.MaxRequestBodySize = 3221225472; 
    options.Limits.MinRequestBodyDataRate = 
         new MinDataRate(bytesPerSecond: 100, gracePeriod: TimeSpan.FromSeconds(10)); 
    options.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(30); 
    }) 

Web.Config

App Insights

App Service plan

Danke

Antwort

0

Soweit ich weiß, Auto-Skala Regel in azur Web-App auftreten hat Dauer wie unten Bilder.

enter image description here

Azure Web-App, die Metriken während der Dauer der Zeit verfolgen.

z. B. die letzten 10 Minuten überschreiten die 70%, wird es skalieren, wenn nicht, wird es nicht die App skalieren.

Meiner Meinung nach ist der Grund, warum die Anfrage 408 Fehler erhalten, ist die azurblaue Web-App noch die Metriken während der Dauer zu verfolgen. Also in der Dauer wird es nicht automatisch skalieren.

Ich schlage vor, Sie könnten den Schwellenwert für die automatische Skalierungsregel und die Dauer ändern, damit Ihre Webanwendung immer gut läuft.

+0

danke für den Vorschlag. Ich bin sicher, dass Timeouts nicht mit Scale-outs zusammenhängen, da ich das gleiche Problem mit leistungsfähigeren Instanzen hatte, bei denen die CPU-Auslastung unter 40% lag – megadrofan

Verwandte Themen