當您在MVC6應用程序上運行dotnet run
時,首次請求需要很長時間,但顯然它工作正常。我試圖在谷歌找到答案,但這是不可能的,因爲我得到的是關於IIS的文章,我根本沒有使用它。事實上,我在Ubuntu上運行代碼。是否可以預熱應用程序?
是否可以預熱dotnet run
以便第一次請求的速度與第二次請求一樣快?
當您在MVC6應用程序上運行dotnet run
時,首次請求需要很長時間,但顯然它工作正常。我試圖在谷歌找到答案,但這是不可能的,因爲我得到的是關於IIS的文章,我根本沒有使用它。事實上,我在Ubuntu上運行代碼。是否可以預熱應用程序?
是否可以預熱dotnet run
以便第一次請求的速度與第二次請求一樣快?
幾點建議:
dotnet run --configuration Release
)--native
標誌,那麼從性能優化主機的結果,以進一步造福最後(並且這一點純粹是推測),可能會考慮在生產Web服務器主機中運行已發佈的Web站點(例如, Apache或IIS)而不是來自dotnet cli。這可能提供性能增強功能,但肯定會提供CLI中不存在的「升溫」功能(我知道IIS具有Always-On選項)。
如何在重新啓動之後立即首先請求自己,並使用curl? – Evk
我目前的部署腳本實際上是這樣做的,但它不是我想要的。 – sed
使用dotnet運行時,您的應用程序運行緩慢的原因有兩個 - 1)應用程序編譯2)查看編譯。 'dotnet run'總是檢查應用程序是否發生了變化,如果發生了變化,它會重新編譯它(默認情況下爲每個目標框架)。如果這是爲了在生產環境中運行應用程序,不要使用dotnet運行,而是發佈應用程序並直接運行它。如果這是在開發過程中,確保您只編譯運行該應用程序的框架。視圖在運行時編譯。預編譯視圖可能是可能的,但我不是100%確定的。 – Pawel