2017-05-10 11 views
0

(我不確定這是否是這個問題的正確站點,如果是這樣,請隨時刪除此免責聲明,否則只需ping我,我會移動並刪除它,然後...)爲什麼Azure上的靜態文件在使用ASP.NET Core的節點insta時服務較慢?

我們是將使用Angular-CLI工具集創建的角度應用程序部署到Azure WebApp。從瀏覽器加載約500 KB的靜態文件需要7秒鐘。

使用ASP.NET Core Web應用程序和app.UseStaticFiles()中間件交付相同的文件時,加載時間會降至200 ms以下。

我錯過了一些關於在這裏提供靜態文件的Node.js嗎?任何人都可以指出我們在這裏做錯了什麼嗎?

+0

Node的js VM比.NET的CLR編譯代碼慢嗎?那些加載時間似乎很慢,你確定它不是網絡不一致嗎? – Mardoxx

+1

這是您第一次訪問您的網站嗎?如果是的話,Azure需要時間加熱它(可能是10+秒)。查看[windows azure網站加載時間](http://stackoverflow.com/questions/15730557/windows-azure-website-load-time) –

+0

@ AaronChen-MSFT:不,我們試了好幾次,第一次放棄了結果加載。另外,當使用ASP.NET Core時(大約每20次嘗試一次),加載時間會增加到大約2到4秒,但大多數時間在150到300毫秒之間。我們在S1和S3應用程序服務計劃中使用一個WebApp對此進行了測試。 – Spontifixus

回答

1

我們發現了這個問題。該應用程序使用IIS託管,而不是Node.js。 它是如何IIS傳輸和壓縮JS文件的方式,在這裏看到了答案:Azure Website slow to serve static JS/CSS but not binary

我們web.config

<serverRuntime enabled="true" frequentHitThreshold="1" frequentHitTimePeriod="00:00:20" /> 

這解決了這個問題(添加以下行<system.webserver>〜8-10秒,現在〜200毫秒)。