1. 程式人生 > >iis7、iis8配置

iis7、iis8配置

 找到Web站點對應的應用程式池,“應用程式池” → 找到對應的“應用程式池” → 右鍵“高階設定...”

  http://images2015.cnblogs.com/blog/665662/201610/665662-20161010142245633-1929353268.png

一、一般優化方案

  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:

  HTTP Error 503.2 - Service Unavailable
  The [email protected]

setting is being exceeded.

  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)。

  2.  調整IIS 7的appConcurrentRequestLimit設定

  由原來的預設5000改為100000。

  [1] 在cmd中執行:

  c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000

  [2] 在%systemroot%\System32\inetsrv\config\applicationHost.config中可以檢視到該設定:

  <serverRuntime appConcurrentRequestLimit="100000" />

  

  

  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 元素:<processModel autoConfig="true" />

  [4] 將 processModel 元素替換為以下值:<processModel enable="true" requestQueueLimit="15000" />

  

  [5] 儲存並關閉 Machine.config 檔案。
  由原來的預設5000改為100000。

<configuration>

    <system.web>

        <processModel enable="true" requestQueueLimit="100000"/>

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

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

  reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000

  http://images2015.cnblogs.com/blog/665662/201610/665662-20161010144453524-461950581.png

  可在登錄檔中檢視

  

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

  net stop http  & net start  http & iisreset

  完成上述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、應用程式池(Application Pool)的設定:

  [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" />

  改為

  <processModel enable="true" requestQueueLimit="100000"/>

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

  [2] 開啟C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Browsers\Default.browser,找到<defaultBrowser id="Wml" parentID="Default" >,註釋<capabilities>部分,然後在命令列中執行aspnet_regbrowsers -i。以解決text/vnd.wap.wml問題。

  設定命令:

  c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000
  設定結果:
  < serverRuntime appConcurrentRequestLimit="100000" />

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

  4、http.sys的設定

  登錄檔設定命令1(將最大連線數設定為10萬):
  reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000

  登錄檔設定命令2(解決Bad Request - Request Too Long問題):

  reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters /v MaxFieldLength /t REG_DWORD /d 32768
  reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters /v MaxRequestBytes /t REG_DWORD /d 32768

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

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

  在Url Rewrite Module中增加如下的規則:

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

  6、 設定Cache-Control為public

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

<configuration>

 <system.webServer>

  <staticContent>

   <clientCache cacheControlCustom="public" />

  </staticContent>

 </system.webServer>

</configuration>

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

< processModel enable="true" maxWorkerThreads="100" maxIoThreads="100" minWorkerThreads="50" minIoThreads="50"/>

相關推薦

iis7iis8配置備份還原

方法1: 1、開啟我們的IIS管理器,在功能視圖裡找到“共享的配置”這個功能然後雙擊進入。   2、進入“共享的配置”後單機右上方的“匯出配置”選項,選擇匯出配置檔案的物理路徑,然後設定一個密碼,密碼必須是包含數字、符號、大小寫字母組合並且至少為8個字元長

iis7iis8配置

 找到Web站點對應的應用程式池,“應用程式池” → 找到對應的“應用程式池” → 右鍵“高階設定...”    一、一般優化方案   1、基本設定   [1] 佇列長度: 預設值1000,將原來的佇列長度改為 65535。   [2] 啟動32位應用程式:預設值F

iis5.1/iis6.0/iis7.0/iis7.5/iis8+ 配置url重寫 無副檔名偽靜態 包括無副檔名目錄靜態化

在隔壁看到的,很有用,經測試正常,記性不好,在配置偶的一個新手卡站點時配了幾次,每次都要去看下,所以這次乾脆考來備份 最近在搞url重寫 遇到iis 無副檔名及html對映問題 供後人檢視 因為考慮功能比較多(URLRewriter元件有些功能滿足不了要求)所以就用了

IIS 之 在IIS7IIS7.5中應用程序池最優配置方案

定期 target 註冊 enable 間隔 images pre .net 微軟   找到Web站點對應的應用程序池,“應用程序池” → 找到對應的“應用程序池” → 右鍵“高級設置...”    一、一般優化方案   1、基本設置   [1] 隊列長度: 默認值100

HTTP500.19 iis78 不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況

不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況。鎖定 在全新安裝的IIS7下搭建網站,訪問頁面時出現錯誤資訊如下: 配置錯誤 不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況。鎖定是預設設定的(overrideModeDefa

IIS6IIS7IIS8各版本的差別

一、寫在前面    目前市面上所用的IIS版本估計都是>=6.0的。所以我們主要以下面三個版本進行講解:  伺服器版本 IIS預設版本 server2003 6.0 server2008 7.0 server2012 8.0

HTTP500.19 iis78 不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況

不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況。鎖定 在全新安裝的IIS7下搭建網站,訪問頁面時出現錯誤資訊如下: 配置錯誤 不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況。鎖定是預設設定的(overrideModeDefa

【ADO.NET】1簡單配置與使用

字符串 文件中 .exe 增加 獲取字符串 pass 數據庫連接 rect manage 1、一些基礎的知識點 ExecuteReader(); //返回查詢到的數據,一次一行,用於 selectExecuteNonQuery(); //返回影響的行數,用於 delete,

Redis系列--2Redis配置

redis配置詳解1、Redis配置在Redis有配置文件(redis.conf)可在Redis的根目錄下找到。可以通過Redis的CONFIG命令設置所有Redis的配置。2、配置文件說明:1. Redis默認不是以守護進程的方式運行,可以通過該配置項修改,使用yes啟用守護進程 daemonize

Nignx入門locationroot配置

itl oot tar ati req 重要 鏈接 優先級 小寫 nginx的配置.首當其沖的就是location配置了,下面是筆記參考的博文鏈接點這裏 location匹配的是nginx的哪個變量? $request_uri (這個不懂怎麽用) location的匹配

H3C 以太網接口配置IP靜態路由TELNET配置

h3cMSR36-20_11.路由器名稱sysname H3C2.以太網接口配置IPinterfaceGigabitEthernet0/0 ip address 10.0.1.1 255.255.255.0#interfaceGigabitEthernet0/2 ip address 192.168.1.1

通過新浪雲部署Node.js微信小程序商城(不用買域名不用備案不用配置https)

個數 bre rem faq 開發 mem nbsp edi home 本文檔為微信小程序商城NideShop項目的安裝部署教程(GitHub),歡迎star 一、購買新浪雲SAE 為什麽選擇SAE?免費二級域名和支持https訪問,不用備案,可用做微信小程序服務器。 S

phpstormwebstorm配置less編譯器

ron settings font ima 問題 color blog 目錄 ram 1、 node.js 安裝包 https://nodejs.org/en/download/ 1) 安裝js解析器node.js。直接下一步就ok了。 2) 將npm壓縮包解壓,找到

【Git】二安裝配置

config 查看 projects set col utl font ssl user 一、Git安裝   Linux 1 $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext 2 libz-dev

SpringMVC插件安裝環境配置及快速入門

應用 pre spring 包含 tro quest patch ava dispatch SpringMVC 是現在廣泛應用的框架結構,我也只是一個初學者,一遍學習一遍梳理整合,如有錯誤,希望大神指點,別誤人。 MVC :Model-View-Control 框架性質的C

windows系統下nodejs安裝環境配置及刪除NPM全局配置

例如 參考 -h clas shel fcm gpe tar tortoise nodejs安裝及設置NPM全局路徑 刪除NPM全局路徑配置 一、nodejs安裝及設置NPM全局路徑 第一步:下載安裝文件 下載nodejs,官網:http://nodejs.org/do

Python Configparser模塊讀取寫入配置文件

con 返回 utf python .get pen Coding move odi 寫代碼中需要用到讀取配置,最近在寫python,記錄一下。 如下,假設有這樣的配置。 [db] db_host=127.0.0.1 db_port=3306 db_use

筆記13(FTP配置tomcat配置resin配置MySQL主從配置

linuxFTP服務搭建與配置FTP介紹FTP是File Transfer Protocol(文件傳輸協議,簡稱文傳協議)的英文簡稱,用於在Internet上控制文件的雙向傳輸。 FTP的主要作用就是讓用戶連接一個遠程計算機(這些計算機上運行著FTP服務器程序),並查看遠程計算機中的文件,然後把文件從遠程計算

Maven01——簡介安裝配置入門程序項目構建和依賴管理

setting end open 環境變量配置 關系 date execute att imp 1 Maven的簡介 1.1 什麽是maven 是apache下的一個開源項目,是純java開發,並且只是用來管理java項目的  Svn eclipse maven量級

window server 2008 iis7+php安裝配置

framework ica strong 下載 eight 識別 安裝配置 rec rip 安裝環境支持 Microsoft Visual C++ 2012 net framework 4.5 php配置 precision = 20 serialize_precisi