Metabase 編輯程序(MetaEdit)」是編輯IIS設定或Metabase、文件的工具。就功能而言,MetaEdit 與Windows注冊表編輯器相似,它允許您瀏覽并修改Metabase 中的屬性。MetaEdit工作在Windows NT4.0 Windows 2000上,它在Windows XP上也能正常工作,另外,MetaEdit只能管理II4.0、IIS5.0或更高版本的IIS。在MetaEdit中還可設置客戶端連接限制的參數(shù)。
無法編輯metabase.xml的解決辦法:
我們想修改iis配置,找到metabase.xml修改后想保存但是提示無法編輯,不能保存!這是由于你沒有在iis中啟用“允許直接編輯配置數(shù)據(jù)庫”的功能
1、打開iis管理器,右擊本地計算機–選擇屬性,如下圖
2、勾選”允許直接編輯配置數(shù)據(jù)庫”,這樣就可以在不停止IIS的情況下編輯metabase.xml文件。
3、現(xiàn)在再試一下編輯metabase.xml文件后保存看一下看看是不是可以保存了?
其實還有一種方法就是把你的iis停了,然后在編輯metabase.xml文件。同樣是可以保存的,但是這要停止網(wǎng)站一會,會影響到網(wǎng)站的運行,所以相對第一種方法還是建議選擇第一種啊。
修改Metabase.xml文件提升IIS性能:
Metabase.xml文件是IIS的設置文件,每個網(wǎng)站已經(jīng)IIS的設置都在這個下面,所以在修改這個文件之前要把這個文件備份一下。這個文件在C:\WINDOWS\system32\inetsrv\Metabase.xml,前篇的啟用IIS的靜態(tài)壓縮也可以在文件下設置,也可以在IIS的圖形界面下設置。
對IIS的性能優(yōu)化要對癥下藥,對不同的網(wǎng)站有不同的優(yōu)化方法,在分析你網(wǎng)站的特點的情況下,然后對Metabase.xml文件里面的參數(shù)進行調(diào)節(jié),提高IIS的性能。
AppAllowDebugging
作用:指定在服務器上是否啟用 Active Server Page (ASP) 調(diào)試。在啟用此屬性的情況下,IIS 應用程序線程是序列化的;對于每個應用程序,一次只允許執(zhí)行一個線程。序列化線程會對 Web 服務器性能產(chǎn)生負面影響。建議您在所有產(chǎn)品服務器上將此屬性設置為 false。
注意:當允許進行服務器端調(diào)試時,將串行化 IIS 應用程序線程:對于每個應用程序,同一時間只允許運行一個線程。這會影響繁忙站點的服務器性能。
AspBufferingOn
作用:該屬性指定 ASP 應用程序的輸出是否需要緩沖。如果將該值設置為 true,在緩沖區(qū)刷新到客戶端瀏覽器之前,應用程序的所有輸出都集中到緩沖區(qū)里。啟用了緩沖,ASP 應用程序就必須在客戶端瀏覽器收到任何輸出前處理完所有的 ASP 腳本。因此,啟用了緩沖的應用程序比沒有啟用緩沖的似乎要慢一些,盡管啟用緩沖的腳本所用的總時間更少。所以,如果啟用了緩沖,那么請考慮使用 ASP 內(nèi)置的 Response 對象的 Flush 方法在處理腳本的同時將內(nèi)容一份份的傳遞給用戶。
注意如果將該屬性設置為 false,那么 ASP 腳本的輸出一旦可用就會輸出到客戶端瀏覽器。如果沒有啟用緩沖,那么所有修改現(xiàn)有的 HTTP 頭或生成新頭的方法必須在內(nèi)容的主體傳送到客戶端瀏覽器之前執(zhí)行。如果啟用了緩沖,這個限制就沒有必要了。建議您在所有產(chǎn)品服務器上將此屬性設置為 true。
AspQueueConnectionTestTime
作用:IIS 將所有的 ASP 請求放置到隊列中。如果請求在隊列中等待的時間比 AspQueueConnectionTestTime 屬性指定的時間(以秒為單位)長,則 ASP 將在執(zhí)行請求前檢查確定客戶端是否仍是連接的。如果客戶端已斷開連接,則不處理該請求并且從隊列中刪除該請求。
注意:多數(shù)情況下,用戶不會等待處理 ASP 頁面超過幾秒的時間。雖然最長等待時間隨用戶不同而不同,但通常可接受的最長時間是大約 10 秒。可以使用 AspQueueConnectionTestTime 屬性來確保 IIS 不浪費時間來處理已被用戶放棄的請求。當處于 ASP 將要開始處理腳本的狀態(tài)時,該屬性對于使 ASP 進行有效處理非常有用。一旦腳本在運行,應用程序仍然應該繼續(xù)使用 ASP 內(nèi)置 Response 對象的 IsClientConnected 方法在合適的時候?qū)蛻舳诉B接進行檢查。
AspRequestQueueMax
作用:該屬性指定了允許進入隊列的并發(fā) ASP 請求的最大數(shù)目。在隊列占滿時,任何試圖請求 ASP 文件的客戶端瀏覽器都將收到 HTTP 500"服務器太忙"的錯誤。
注意:在 IIsWebService 級別上設置該屬性可運用于所有級別上的所有進程內(nèi)的和共用的進程外應用程序項。進程內(nèi)的和共用的進程外應用程序忽略 IIsWebServer 級別及更低級別上的配置數(shù)據(jù)庫設置。但是,如果該項是進程外的隔離應用程序,則使用 IIsWebServer 級別或更低級別的設置。
AspScriptEngineCacheMax
作用:該屬性指定了 ASP 頁面將在內(nèi)存中保持緩存的腳本引擎的最大數(shù)目。根據(jù)應用程序中的內(nèi)容的類型調(diào)整默認值。(默認值不包括當前正在運行的腳本引擎)如果有成千上萬的不同頁,您會體驗到提高緩存大小的一些好處:大多數(shù)頻繁請求的頁都可以輕松地訪問到。腳本引擎緩存的好處意味著您可以無需將模板重新編譯為字節(jié)代碼。
AspScriptFileCacheSize
作用:該屬性指定了要緩存的預編譯腳本文件數(shù)。如果設置為 0,則不緩存任何腳本文件。如果設置為 4294967295,則緩存所有腳本文件。該屬性用于調(diào)整性能,依賴于可用內(nèi)存數(shù)和腳本文件傳輸量。
注意:配置數(shù)據(jù)庫將無窮大表示為 DWORD 值 4294967295 (0xFFFFFFFF);VBScript 則將無窮大表示為十六進制值 &HFFFFFFFF。以前的 IIS 版本將無窮大表示為 -1。
AspSessionMax
作用:屬性指定了 IIS 允許的最大并發(fā)會話數(shù)。當達到該限制時,如果客戶端試圖與 IIS 建立新連接,則客戶端將接收到錯誤信息(HTTP 500"服務器太忙")。
注意:配置數(shù)據(jù)庫將無窮大表示為 DWORD 值 4294967295 (0xFFFFFFFF);VBScript 則將無窮大表示為十六進制值 &HFFFFFFFF。以前的 IIS 版本將無窮大表示為 -1。ASP 需要超過保留所有會話所需數(shù)量一定量的內(nèi)存。雖然可以使用 AspSessionMax 來限制該內(nèi)存超出,但是通常情況下使用AspSessionTimeout屬性來管理 IIS 中會話對象的生存期會更合適,一旦達到限制將拒絕客戶端瀏覽器。
AspSessionTimeout
作用:屬性指定了完成最后的與 Session 對象相關(guān)的請求后,保留該對象的時間(以分鐘為單位)?梢允褂 ASP 內(nèi)置 Session 對象的 Timeout 屬性來在腳本中覆蓋該屬性。
注意:可以使用 AspSessionTimeout 來很好的調(diào)整 ASP 應用程序。由于 Session 對象消耗內(nèi)存資源,因此使用該屬性來限制單個 Session 的生存期可以使應用程序具有更好的可縮放性。
AspProcessorThreadMax
作用:該屬性指定 IIS 可創(chuàng)建的每個處理器的最大工作線程數(shù)。(IIS 所允許的每個 ASP 進程的工作線程的最大數(shù)量是 AspProcessorThreadMax 乘以服務器上處理器的數(shù)量。可以降低此值然后監(jiān)視性能。如果性能降低,請恢復 AspProcessorThreadMax 原來的值。)
注意:該設置通常會明顯地影響 Web 應用程序的可擴展性和服務器的性能。因為該屬性定義了可同時執(zhí)行的 ASP 請求的最大數(shù)量,所以除非 ASP 應用程序擴展調(diào)用外部組件,該設置都將保持默認值。在這種情況下,可以增加 AspProcessorThreadMax 的值。這樣做允許服務器創(chuàng)建更多的線程來處理更多的并發(fā)請求。如果更改了此屬性的值,則必須停止然后重新啟動 Web 服務器實例以使更改生效。該屬性的萬維網(wǎng)發(fā)布服務 (WWW 服務) 設置在所有級別上適用于所有的進程內(nèi)的和共用的進程外應用程序節(jié)點。對于進程內(nèi)的和共用的進程外應用程序,忽略 Web 服務器或更低級別上的配置數(shù)據(jù)庫設置。但是,如果該節(jié)點是進程外的隔離應用程序,則使用 Web 服務器級別或更低級別的設置。