2012-11-30 37 views
3

我經常使用app_offline.htm向用戶顯示更改網站時的消息。我的工作流程是這樣:刪除/重命名app_offline.htm導致100%的CPU使用率

  1. 重命名OFF_app_offline.htm - > app_offline.htm
  2. 進行更改網站
  3. 重命名app_offline.htm - > OFF_app_offline.htm

有時候,當我做第3步,網站恢復在線狀態,但服務器突然使用100%的CPU,因此運行速度非常慢,需要運行iisreset.exe以使其再次正常運行。使用大約50%CPU的兩個進程分別是w3wp.exesqlservr.exe。通常服務器的CPU使用率約爲20%。

我沒有權利在我的VPS帳戶上運行iisreset.exe,所以我必須聯繫我的託管服務提供商並讓他們這樣做。這是非常耗時的,同時,我的網站用戶因速度慢而感到沮喪!

這是怎麼發生的?我能做些什麼來阻止它發生?服務器上是否有任何設置可以阻止這種情況發生?

回答

1

刪除app_offline.htm文件後,下一次進入應用程序的請求將導致ASP.NET再次加載應用程序和應用程序域,並且生活將像往常一樣繼續。

它應該在perioud期間加熱cpu,但不會很長時間。

嘗試在IIS上爲此應用程序增加此應用程序池的工作進程,這樣不僅一個w3wp.exe進程 將承擔所有負載。

編輯:

試着改變你的會話配置。我不知道您使用的 您的會話狀態的哪些存儲選項,(我猜SQL狀態由於SQL Server進程加載),但也許你可以嘗試去改變它:

查看以下鏈接:

Session-State Modes

+0

我的VPS每個應用程序都在一個專用的應用程序池運行,但我還沒有聽說過使用多個應用程序池的前一個單一的應用程序。有什麼信息可以鏈接到這個?或者你的意思是一個AppPool更多的工作進程? – ajbeaven

+0

YEah,我的意思是分配更多的工作進程到應用程序池。你試過了嗎? –

+0

我一定會嘗試一下,不過從我讀的內容來看,我需要圍繞會話關注點進行一些測試,等等。應用程序是.NET MVC,所以我不應該認爲我會遇到任何問題,但是你永遠不會知道!謝謝你的回答堆 - 如果我的測試結果會產生積極的影響,我會將其標記爲已接受:) – ajbeaven