修改Metabase.xml檔案提升IIS效能

來源:互聯網
上載者:User

  Metabase.xml檔案是IIS的設定檔案,每個網站已經IIS的設定都在這個下面,所以在修改這個檔案之前要把這個檔案備份一下。這個檔案在C:WINDOWSsystem32inetsrvMetabase.xml,前篇的啟用IIS的靜態壓縮也可以在檔案下設定,也可以在IIS的圖形介面下設定。
  對IIS的效能最佳化要對症下藥,對不同的網站有不同的最佳化方法,在分析你網站的特點的情況下,然後對Metabase.xml檔案裡面的參數進行調節,提高IIS的效能。
  AppAllowDebugging
  作用:指定在伺服器上是否啟用 Active Server Page (ASP) 調試。在啟用此屬性的情況下,IIS 應用程式線程是序列化的;對於每個應用程式,一次只允許執行一個線程。序列化線程會對 Web 服務器效能產生負面影響。建議您在所有產品伺服器上將此屬性設定為 false。
  注意:當允許進行伺服器端調試時,將序列化 IIS 應用程式線程:對於每個應用程式,同一時間只允許運行一個線程。這會影響繁忙網站的伺服器效能。
  AspBufferingOn
  作用:該屬性指定 ASP 應用程式的輸出是否需要緩衝。如果將該值設定為 true,在緩衝區重新整理到用戶端瀏覽器之前,應用程式的所有輸出都集中到緩衝區裡。啟用了緩衝,ASP 應用程式就必須在用戶端瀏覽器收到任何輸出前處理完所有的 ASP 指令碼。因此,啟用了緩衝的應用程式比沒有啟用緩衝的似乎要慢一些,儘管啟用緩衝的指令碼所用的總時間更少。所以,如果啟用了緩衝,那麼請考慮使用 ASP 內建的 Response 對象的 Flush 方法在處理指令碼的同時將內容一份份的傳遞給使用者。
  注意如果將該屬性設定為 false,那麼 ASP 指令碼的輸出一旦可用就會輸出到用戶端瀏覽器。如果沒有啟用緩衝,那麼所有修改現有的 HTTP 頭或產生新頭的方法必須在內容的主體傳送到用戶端瀏覽器之前執行。如果啟用了緩衝,這個限制就沒有必要了。建議您在所有產品伺服器上將此屬性設定為 true。
  AspQueueConnectionTestTime
  作用:IIS 將所有的 ASP 請求放置到隊列中。如果請求在隊列中等待的時間比 AspQueueConnectionTestTime 屬性指定的時間(以秒為單位)長,則 ASP 將在執行請求前檢查確定用戶端是否仍是串連的。如果用戶端已中斷連線,則不處理該請求並且從隊列中刪除該請求。
  注意:多數情況下,使用者不會等待處理 ASP 頁面超過幾秒的時間。雖然最長等待時間隨使用者不同而不同,但通常可接受的最長時間是大約 10 秒。可以使用 AspQueueConnectionTestTime 屬性來確保 IIS 不浪費時間來處理已被使用者放棄的請求。當處於 ASP 將要開始處理指令碼的狀態時,該屬性對於使 ASP 進行有效處理非常有用。一旦指令碼在運行,應用程式仍然應該繼續使用 ASP 內建 Response 對象的 IsClientConnected 方法在合適的時候對用戶端串連進行檢查。
  AspRequestQueueMax
  作用:該屬性指定了允許進入隊列的並發 ASP 請求的最大數目。在隊列佔滿時,任何試圖請求 ASP 檔案的用戶端瀏覽器都將收到 HTTP 500"伺服器太忙"的錯誤。
  注意:在 IIsWebService 層級上設定該屬性可運用於所有層級上的所有進程內的和共用的進程外應用程式項。進程內的和共用的進程外應用程式忽略 IIsWebServer 層級及更低層級上的設定資料庫設定。但是,如果該項是進程外的隔離應用程式,則使用 IIsWebServer 層級或更低層級的設定。
  AspScriptEngineCacheMax
  作用:該屬性指定了 ASP 頁面將在記憶體中保持緩衝的指令碼引擎的最大數目。根據應用程式中的內容的類型調整預設值。(預設值不包括當前正在啟動並執行指令碼引擎)如果有成千上萬的不同頁,您會體驗到提高緩衝大小的一些好處:大多數頻繁請求的頁都可以輕鬆地訪問到。指令碼引擎緩衝的好處意味著您可以無需將模板重新編譯為位元組代碼。
  AspScriptFileCacheSize
  作用:該屬性指定了要緩衝的先行編譯指令檔數。如果設定為 0,則不緩衝任何指令檔。如果設定為 4294967295,則緩衝所有指令檔。該屬性用於調整效能,依賴於可用記憶體數和指令檔傳輸量。
  注意:設定資料庫將無窮大表示為 DWORD 值 4294967295 (0xFFFFFFFF);VBScript 則將無窮大表示為十六進位值 &HFFFFFFFF。以前的 IIS 版本將無窮大表示為 -1。
  AspSessionMax
  作用:屬性指定了 IIS 允許的最大同時工作階段數目數。當達到該限制時,如果用戶端試圖與 IIS 建立新串連,則用戶端將接收到錯誤資訊(HTTP 500"伺服器太忙")。
  注意:設定資料庫將無窮大表示為 DWORD 值 4294967295 (0xFFFFFFFF);VBScript 則將無窮大表示為十六進位值 &HFFFFFFFF。以前的 IIS 版本將無窮大表示為 -1。ASP考試,大提示 需要超過保留所有會話所需數量一定量的記憶體。雖然可以使用 AspSessionMax 來限制該記憶體超出,但是通常情況下使用AspSessionTimeout屬性來管理 IIS 中會話對象的生存期會更合適,一旦達到限制將拒絕用戶端瀏覽器。
  AspSessionTimeout
  作用:屬性指定了完成最後的與 Session 對象相關的請求後,保留該對象的時間(以分鐘為單位)。可以使用 ASP 內建 Session 對象的 Timeout 屬性來在指令碼中覆蓋該屬性。
  注意:可以使用 AspSessionTimeout 來很好的調整 ASP 應用程式。由於 Session 對象消耗記憶體資源,因此使用該屬性來限制單個 Session 的生存期可以使應用程式具有更好的可縮放性。
  AspProcessorThreadMax
  作用:該屬性指定 IIS 可建立的每個處理器的最大背景工作執行緒數。(IIS 所允許的每個 ASP 進程的背景工作執行緒的最大數量是 AspProcessorThreadMax 乘以伺服器上處理器的數量。可以降低此值然後監視效能。如果效能降低,請恢複 AspProcessorThreadMax 原來的值。)
  注意:該設定通常會明顯地影響 Web 應用程式的可擴充性和伺服器的效能。因為該屬性定義了可同時執行的 ASP 請求的最大數量,所以除非 ASP 應用程式擴充調用外部組件,該設定都將保持預設值。在這種情況下,可以增加 AspProcessorThreadMax 的值。這樣做允許伺服器建立更多的線程來處理更多的並發請求。如果更改了此屬性的值,則必須停止然後重新啟動 Web 服務器執行個體以使更改生效。該屬性的全球資訊網發布服務 (WWW 服務) 設定在所有層級上適用於所有的進程內的和共用的進程外應用程式節點。對於進程內的和共用的進程外應用程式,忽略 Web 服務器或更低層級上的設定資料庫設定。但是,如果該節點是進程外的隔離應用程式,則使用 Web 服務器層級或更低層級的設定。
  AspTrackThreadingModel
  作用:該屬性指定了 IIS 是否檢查應用程式建立的任意組件的線程模組。
  注意:該設定資料庫屬性通常最好保留預設值 (false),以便 ASP 不使用系統資源來跟蹤線程模組,ASP 應用程式提供最好的效能。如果將該屬性設定成 false,並且允許所建立的組件訪問應用程式的範圍,則這些組件必須彙總自由線程封送拆收器。如果不彙總自由線程封送拆收器,則當建立組件執行個體時 ASP 將建置錯誤。有關該主題的詳細資料,請參閱 Platform SDK 中的"建造 ASP 組件"。將該屬性設為預設值 (false) 的另一個原因是,任意在 ASP 應用程式中建立的沒有 OnStartPage 或 OnEndPage 方法的對象都比其他的要發布的早並且會降低應用程式的可縮放效能。
  CacheISAPI
  作用:該屬性指示在第一次使用 ISAPI 擴充後是否在記憶體中進行緩衝。如果將該屬性的值設定為 true,則 ISAPI 擴充一旦載入將一直駐留在緩衝中,直到伺服器停止工作。如果將該屬性的值設定為 false,則若不再使用 ISAPI 擴充,就將其從記憶體中卸載。是否對 ISAPI 擴充進行緩衝,取決於將其載入記憶體使用量時該屬性的值。因此,如果在擴充已載入並進行緩衝後更改屬性,則只有在重新啟動 Web 服務器後,所做更改才會對擴充生效。
  注意:將該屬性設定為 false 可能引起嚴重的效能問題。而且當屬性設定為 false 時,某些擴充無法正常運行。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.