2017-10-17 166 views
1

我想知道我在Net Core WebApp中超時錯過了什麼配置。 約有0.5%的請求在App Insights中以408狀態碼記錄。 我已經在web.config中應用了requestTimeout設置,併爲Kestrel配置了限制設置。自動縮放將CPU負載保持在70%以下。 我錯過了配置中的某些東西嗎?我不明白爲什麼這些發生超時Asp Net核心超時

.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

謝謝

回答

0

據我所知,在蔚藍的Web應用程序自動定標規則持續時間如下圖。

enter image description here

天青web應用程序期間的持續時間跟蹤的指標。

例如,過去10分鐘超過70%,如果不超過這個比例,它將會縮放,否則不會縮放應用程序。

在我看來,請求獲得408錯誤的原因是azure web應用程序仍然在持續時間內跟蹤度量標準。所以在持續時間內,它不會自動縮放。

我建議你可以考慮改變自動縮放規則的閾值和持續時間,以保持你的網絡應用程序始終運行良好。

+0

謝謝你的建議。我確定超時與擴展無關因爲我使用CPU負載低於40%的更強大實例經歷過同樣的問題, – megadrofan