IIS7 IIS7 5中應用程式池最優配置方案

2021-10-21 00:27:50 字數 3388 閱讀 5116

一、一般優化方案

1、基本設定

[1] 佇列長度: 預設值1000,將原來的佇列長度改為 65535。

[2] 啟動32位應用程式:預設值false,改為true, 否則安裝一些32的組建或32位的php都會出錯。

[3] 託管管道模式:integrated 或 classsic。

2、高階設定

[1] 閒置超時(分鐘):預設20分鐘,修改設長。

[2] 快速故障防護 → 已啟用 :預設true,改為false。

3、解決pep第一次開啟pep速度慢

**間隔時間

使用windows server 2008 r2解決**假死的問題

開啟應用程式池 -> 高階設定 ->在「禁止重疊**」裡選擇「true」,這樣就有效避免了應用程式池**假死問題。

二、支援同時10萬個請求

通過對iis7的配置進行優化,調整iis7應用池的佇列長度,請求數限制,tcpip連線數等方面,從而使web伺服器的效能得以提公升,保證web訪問的訪問流暢。

站點碰到如下問題:

error summary:

detailed error information:

module iis web core

notification beginrequest

handler staticfile

error code 0x00000000

由於之前使用的是預設配置,伺服器最多只能處理5000個同時請求,今天下午由於某種情況造成同時請求超過5000,從而出現了上面的錯誤。

為了避免這樣的錯誤,我們根據相關文件調整了設定,讓伺服器從設定上支援10萬個併發請求。

具體設定如下:

1. 調整iis 7應用程式池佇列長度

將原來的佇列長度由預設值 1000 改為 65535。當然這裡的佇列長度你可以根據自己的 訪問使用者1.5 來設定,例如:有2000使用者,此處就可以設定為3000(3000=2000使用者數1.5)。

由原來的預設5000改為100000。

[1] 在cmd中執行:

3. 調整machine.config中的processmodel>requestqueuelimit的設定

[1] 單擊「開始」,然後單擊「執行」,或者 windows + r。

[2] 在「執行」對話方塊中,鍵入 notepad %systemroot%\microsoft.net\framework64\v4.0.30319\config\machine.config,然後單擊「確定」。(不同的.net版本路徑不一樣,可以選擇你自己當前想設定的.net版本的config)

[3] 找到如下所示的 processmodel 元素:

[4] 將 processmodel 元素替換為以下值:

[5] 儲存並關閉 machine.config 檔案。

由原來的預設5000改為100000。

4. 修改登錄檔,調整iis 7支援的同時tcpip連線數

由原來的預設5000改為100000。在cmd中執行:

可在登錄檔中檢視

5. 執行命令使用設定生效

完成上述5個設定,就可以支援10萬個併發請求,部落格伺服器已經啟用上述設定。

為了方法大家與自己使用,我把上面能用bat操作簡單放到乙個bat檔案裡面了。將下面的內容儲存為do.bat檔案執行就可以了,需要手工的自己操作

三、支援高併發的iis web伺服器常用設定   

適用的iis版本:iis 7.0, iis 7.5, iis 8.0

適用的windows server版本:windows server 2008, windows server 2008 r2, windows server 2012

[1] general->queue length設定為65535(佇列長度所支援的最大值)

[2] process model->idle time-out設定為0(不讓應用程式池因為沒有請求而**)

[3] recycling->regular time interval設定為0(禁用應用程式池定期自動**)

2、.net framework相關設定

[1] 在machine.config中將

< processmodel autoconfig=「true」 />

改為(儲存後該設定立即生效)

[2] 開啟c:\windows\microsoft.net\framework64\v4.0.30319\config\browsers\default.browser,找到,注釋部分,然後在命令列中執行aspnet_regbrowsers -i。以解決text/vnd.wap.wml問題。

設定命令:

(儲存後該設定立即生效)

4、http.sys的設定

登錄檔設定命令1(將最大連線數設定為10萬):

登錄檔設定命令2(解決bad request - request too long問題):

(需要在命令列執行 net stop http & net start http & iisreset 使設定生效)

5、針對負載均衡場景的設定

在url rewrite module中增加如下的規則:

注意事項:新增該url重寫規則會造成iis核心模式快取不工作,詳見微軟的坑:url重寫竟然會引起iis核心模式快取不工作。

6、 設定cache-control為public

在web.config中新增如下配置:

複製**

複製**

複製**

複製**

在machine.config的中新增如下設定:

< processmodel enable=「true」 maxworkerthreads=「100」 maxiothreads=「100」 minworkerthreads=「50」 miniothreads=「50」/>

IIS7 IIS7 5中目錄執行許可權的設定方法

iis7 iis7.5中目錄執行許可權的設定方法 我們在建站的時候,通常有些目錄必須給寫入許可權,這個時候這些目錄就很可能被人寫入指令碼檔案,為了將安全性維護得更好,我們可以關閉這些有寫入許可權的目錄的指令碼執行許可權。iis6的時候,我們很容易找到關閉的地方,而iis7時代,由於架構的變化,很多人...

IIS7的應用程式池

最近將原來的系統遷移到iis7.5上了,發現aspnetupload只能執行在 程式程式池 的 經典 模式之下,採用 整合 模式後,aspnetupload.getuploadfile始終為null,雖然改成經典不影響系統執行,但是這種模式就發揮不出iis7的優勢了,相當於以iis6的相容模式在執行...

IIS應用程式池監控

最近發現公司執行的web 應用程式池會突然停止,做的負載均衡 路由負載 又無法監測到iis應用程式池的情況,就想著通過某一種監控方式監測iis應用程式池的情況,如果處關閉狀態則立刻重新啟動.所說的iis應用程式池監控也只能算是偽監控,不喜勿噴.執行 winform windows計畫任務 1.首先獲...