一年多來,我一直在爲他們用來做各種日常任務的人開發一個「Intranet」站點。ASP.NET MVC網站在局域網上運行速度很慢,但工作正常本地主機
它是在Server 2012 i7 16GB RAM上運行的MVC 4,預編譯視圖,IIS 7.5。
昨天突然所有的局域網機器,使用Chrome或IE,頁面老化需要25-55秒!即使是靜態頁面。我登錄服務器,縮放縮放,沒問題? 1013ms。
我安裝管窺出版,然後局域網的機器上,並擊穿是
- 請求32000ms,電線的55ms ..
- 查看12毫秒,10毫秒,各種諧音,.....最後一個25秒。
- 在網站上運行的Ajax是12ms-15ms響應,Glimpse更新正常。
- 瞥見AXD設置頁面也快速加載。
我故意裝入一個頁面,其中有大約50個部分碰到數據庫50次。這些部分如預期的那樣。每個渲染12-15ms。但最後的渲染是25秒?然後加載一個漂亮的靜態頁面。沒有偏差但結果相同。 (不是數據庫然後,對吧?沒關係,因爲IIS在本地機器上執行DB請求,我知道本地工作是完美的)
我檢查了鉻網絡。 55秒等待,不是DNS(或至少它說不是)它只是標記爲等待。然後傳輸就像200ms所有剩下的文件一樣。所以我清除了緩存,最初的25-55秒,然後所有的JS,CSS在500ms內迅速下載。
因此,它不是一個網絡問題,如在故障或不友好的電線。其完美的千兆位全速吞吐量。
我還沒有發表任何的一週。我重新啓動了所有路由器和交換機,所有計算機和服務器。
- 服務器充當域,但客戶端是家庭高級版,未連接到域。
- 由於此DNS設置爲Internet網關,並將DNS設置爲服務器導致Internet問題,所以我只能添加主機「webbapp 192.168.1.1」(工作超過12個月)
- 我使用WebMatrix成員資格爲表單身份驗證,所以這是一次連接到MainDB的字符串。
- 日常例程使用連接字符串存儲在MainDB中,但Linq2SQL的名稱不同。
- 然後有5個其他數據庫用於搜索記錄,只有從搜索頁面中擊中。
- 我以用戶身份登錄到SQL管理器。它很快。我檢查了主數據庫的文件是2.2GB,所以我現在清除了日誌文件和330MB。它在本地速度更快,但LAN機器仍然沒有變化。
- 我回收了應用程序池。我確定超時設置高於1分鐘,其90分鐘
- 未將其設置爲webfarm,用戶標識是默認設置。我嘗試了本地管理員。不用找了。
- 我創建了一個新的應用程序池,並將其更改爲在那裏。 LAN機器沒有變化。
- 我重新發布了該網站,可能是一些腐敗?不。一樣。
- web.config設置爲debug = false
- 我刪除了優化,這是我最近做出的改變。所以我只是傾銷所有CSS,JS的文件,因爲他們以前。這並沒有改變任何東西。
我留着一個眼睛資源經理。在處理器中甚至沒有凹痕(空閒,沒有其他東西在運行或阻塞)。硬盤有幾百kb的傳輸。 RAM足夠。
我檢查了正在向服務器發出的請求,誰知道某事正在做超過1000個請求一秒鐘的DDoS機器?病毒什麼的。不。
- 對IIS上發生的任何事情沒有請求。所以不是DDoS。
- 來自IIS的日誌文件看起來很好。沒有錯誤
- Eventviewer,沒有錯誤。
- 在IIS中啓用跟蹤。什麼也沒發生
- SQL Server重啓分別
- 殘疾人AV
此問題影響在同一時間(2014年12月11日)(較新的,舊的,筆記本電腦)中的所有機器。所以我只能懷疑Windows Update? Chrome更新?
任何人和我一樣有地獄的日子嗎?我不知道還有什麼要檢查的。
抓住Red Gate的分析器試用期,看看時間花在哪裏。如果它不在IIS中使用,而且您懷疑這是最近發佈的補丁,那麼MS只會更新SChannel。 https://support.microsoft.com/kb/2992611(通過http或https訪問這些請求嗎?) –
謝謝,生病了。一切都是http,服務器ipv6被禁用。我有一種直覺,認爲它使用ipv6,但一切正常。 – ppumkin
如果您有足夠的時間,可以考慮使用頻繁堆棧遍歷的xperf來查看操作系統和進程在哪裏花費時間。 –