對w3wp.exe的一點認識!
要想web應用程序的執行,那么我們首先就要保證這個進程(W3WP.EXE)在運行.
就是說負責管理這個應用程序的進程要一直運行.
1.W3WP.EXE,應用程序,應用程序池之間的關系
一個應用程序池可以包含多個應用程序,一個應用程序池創建一個W3WP.EXE進程. 那么我們就不能簡單的說一個應用程序對應一個W3WP.EXE進程了! 其實是多個應用程序對應一個W3WP.EXE進程的.
2.如何啟動和關閉W3WP.EXE這個進程
W3WP.EXE這個進程將在你訪問www應用程序的時候啟動. 有人就會這么問了:"我啟動了一個Web應用程序,發現系統自動創建了一個W3wp.exe進程。 但我關閉這個Web應用程序后,發現這個剛創建的W3Wp.exe進程還在,請問如何關閉該進程。" 這個進程(W3wp.exe)不會在你關閉了這個程序以后,就馬上關閉的.
那是因為Http是無連接的訪問,當你關閉了web網頁,不會返回相應的關閉信息, 所以W3WP.EXE這個進程不會因為你關閉了web應用程序爾關閉. 那么如何關閉這個進程呢? 在應用程序池的配置中,"空閑超時"中設定合適的時間,系統默認的是20分鍾.設定好指定的時間,那么在這個時間范圍內沒有在訪問應用程序, 那么系統會自動的關閉W3WP.EXE這個進程的.而不需要我們人為的干預的. 要是你有這個精力的話,也可以在Windows任務管理器里面,結束這個進程的生命(^_^)!
3.如何讓W3WP.EXE進程長時間的運行.
W3WP.EXE這個進程的默認生命是1740分鍾,
但依然是在這種默認的自然規律下,W3WP.EXE將在自己失業20分鍾后,被系統直接槍殺.
這樣就可以看出,要想讓W3WP.EXE長時間的生存,那我們可以通過”空閑超時”不作處理來達到我們的目的.
這樣可是缺點多多,但是為了達到個人的私欲,這又算什么.本來也不是什么正式的項目.
4.如何降低W3WP.EXE占用的內存和CPU
結合網上的諸多建議,主要的解決辦法是:
a.在IIS中對每個網站進行單獨的應用程序池配置;
b.合理的配置你的應用程序池;
