IIS 6.0 應(yīng)用了新的進(jìn)程模型。內(nèi)核模式的HTTP偵聽程序(Http.sys)接收并發(fā)送HTTP請求(甚至可以使用它的響應(yīng)緩存來滿足請求)。工作進(jìn)程注冊 URL子空間,Http.sys將請求發(fā)送到相應(yīng)的進(jìn)程(如果使用應(yīng)用程序池,則發(fā)送到進(jìn)程集合)。
圖 4 展示了IIS 5.0和IIS 6.0進(jìn)程模型之間的差異。IIS 5.0使用WinSock在端口80接受連接。請求由 inetinfo 進(jìn)程負(fù)責(zé)接收,然后或者在進(jìn)程內(nèi)執(zhí)行請求,或者將它交給dllhost 進(jìn)程在進(jìn)程外進(jìn)行處理(為了達(dá)到隔離的目的)。響應(yīng)則由 inetinfo 進(jìn)程發(fā)送回去。

圖 4 IIS 5.0 和 IIS 6.0 的進(jìn)程模型
IIS 6.0 進(jìn)程依賴于內(nèi)核模式的Web驅(qū)動程序Http.sys。在新的模型中,Http.sys負(fù)責(zé)管理連接和處理請求。請求可能通過Http.sys緩存得到滿足,也可能被交給一個工作進(jìn)程以便得到進(jìn)一步處理(見圖5)??梢耘渲枚鄠€工作進(jìn)程,從而以較低開銷實(shí)現(xiàn)了隔離。
Http.sys包括了一個響應(yīng)緩存。當(dāng)請求與響應(yīng)緩存中的某個條目相匹配的時候,Http.sys直接從內(nèi)核模式中發(fā)送緩存響應(yīng)。圖5展示了請求通過Http.sys得到處理的情況(請求也可能向上交給某個工作進(jìn)程進(jìn)行處理)。

圖 5 IIS 6.0中的請求處理
由于Web服務(wù)器既包括內(nèi)核模式的組件,也包括用戶模式的組件,必須對二者同時進(jìn)行調(diào)整才能獲得最佳性能。因此,針對特定負(fù)載的IIS 6.0調(diào)整工作需要對如下內(nèi)容進(jìn)行配置:
· Http.sys(內(nèi)核模式驅(qū)動程序)以及相關(guān)的內(nèi)核模式緩存。
· 工作進(jìn)程和用戶模式IIS,包括應(yīng)用程序池配置。
此外,我們還將在后文中討論會對性能造成影響的其他參數(shù)。
內(nèi)核模式的調(diào)整
與性能有關(guān)的Http.sys設(shè)置可以劃分為兩類:緩存管理以及連接和請求管理。所有的注冊表設(shè)置都保存在以下條目中:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Http\Parameters
如果HTTP服務(wù)正在運(yùn)行,必須首先停止服務(wù),然后重新啟動計算機(jī),以便讓設(shè)置生效。
緩存管理設(shè)置
Http.sys具有的優(yōu)點(diǎn)之一便是內(nèi)核模式緩存。如果響應(yīng)位于內(nèi)核緩存中,那么可能可以完全通過內(nèi)核模式來滿足某個HTTP請求,這顯然可以極大降低CPU處理請求的開銷。但是,IIS 6.0的內(nèi)核模式緩存是一種基于物理內(nèi)存的緩存,每個條目都需要占用一定的內(nèi)存空間。
緩存中的條目只有在被使用的時候才能提供益處。但是,條目在任何時候都會占用物理內(nèi)存,不論它是否被使用。所以,需要對緩存某個項目帶來的益處(能夠直接從緩存中滿足請求)以及它在整個生命期中的開銷(需要占用物理內(nèi)存)進(jìn)行評估,并且考慮可用資源(CPU、物理內(nèi)存)和工作負(fù)載的情況。 Http.sys 試圖僅在緩存中保存有用(經(jīng)常被訪問)的項目,但是,如果針對特定工作負(fù)載來調(diào)整Http.sys緩存,Web服務(wù)器的性能還可以獲得一定程度的提高。
以下是一些有用的Http.sys內(nèi)核模式緩存設(shè)置:
· UriEnableCache. 默認(rèn)值:1。設(shè)為非零值可以啟用內(nèi)核模式響應(yīng)和分段緩存。對于大多數(shù)工作負(fù)載,緩存都應(yīng)該保持啟用。如果希望獲得超低響應(yīng)和較低的緩存利用率,那么請考慮禁用緩存。
· UriMaxCacheMegabyteCount. 默認(rèn)值:0。設(shè)為非零值可以指定內(nèi)核緩存可以使用的最大內(nèi)存數(shù)量。默認(rèn)值為0,允許系統(tǒng)自動調(diào)節(jié)緩存能夠使用的內(nèi)存數(shù)量。注意:只能設(shè)置可以使用的最大內(nèi)存數(shù)量,而且系統(tǒng)可能不允許緩存增長到指定的大小。
· UriMaxUriBytes. 默認(rèn)值:262144 字節(jié)(256 KB)。本參數(shù)設(shè)定了內(nèi)核緩存中每個條目的最大長度。大于這個長度的響應(yīng)或分段都不會被緩存。如果有足夠的資金,可以考慮增加此參數(shù)的值。如果資金有限,而且大型的條目會擠掉較小的條目,那么可以將本參數(shù)設(shè)為更小的值。
· UriScavengerPeriod. 默認(rèn)值:120秒。一個“清道夫”程序會定期掃描 Http.sys緩存,在兩次掃描期間沒有被訪問過的條目將被刪除。可以將掃描周期設(shè)置為一個較高的值,以減少掃描次數(shù)。但是,如果訪問頻率低的老條目仍然保留在緩存中,緩存占用的內(nèi)存將不斷增加。如果將此期限設(shè)置得過低,掃描頻率會過于頻繁,而且可能導(dǎo)致緩存的過度清洗和擾動。
請求和連接管理設(shè)置
此外,Http.sys管理入站HTTP/HTTPS 連接,并且是在這些連接上處理請求的第一個層。它使用內(nèi)部數(shù)據(jù)結(jié)構(gòu)保存有關(guān)連接和請求的信息。雖然這樣的數(shù)據(jù)結(jié)構(gòu)可以按需創(chuàng)建(或釋放),但如果在 look-aside里表中保存部分?jǐn)?shù)據(jù)結(jié)構(gòu)留作備用,則可以實(shí)現(xiàn)更高的 CPU 效率。保存這樣的儲備有助于Http.sys利用更少的CPU資源來處理負(fù)載波動。注意:負(fù)載波動不一定由外部的負(fù)載波動而引起。一些旨在改善批處理或者中斷調(diào)解的內(nèi)部優(yōu)化措施也可能導(dǎo)致負(fù)載波動和起伏。
儲備有助于減少CPU的使用率和縮短延遲時間,同時能夠增加Web服務(wù)器的處理能力,但是也會增加內(nèi)存的使用率。在調(diào)整Http.sys的請求和連接管理行為的時候,需要牢記的因素便是:可用的服務(wù)器資源,性能目標(biāo)以及工作負(fù)載的特性。您可以使用以下請求和連接管理設(shè)置:
· MaxConnections。 本設(shè)置用來控制Http.sys所允許的并發(fā)連接的數(shù)量。每一個連接都會耗用非分頁池(一種寶貴和有限的資源)。默認(rèn)值的設(shè)置相當(dāng)保守,以限制連接占用的非分頁池數(shù)量。對于配備了充足內(nèi)存的專用Web服務(wù)器,如果預(yù)計會產(chǎn)生大量的并發(fā)連接,可以將此值設(shè)置得更高一些。此值設(shè)置得越大,占用的非分頁池就越多,所以要務(wù)必小心,應(yīng)該使用一個與系統(tǒng)配置相適應(yīng)的正確數(shù)值。
· IdleConnectionsHighMark、IdleConnectionsLowMark和IdleListTrimmerPeriod. 這些值用來控制對非并行使用的連接結(jié)構(gòu)的處理:在某個時間必須提供多少可用的連接(用于處理連接負(fù)載的波動)、釋放列表的上下界限、以及連接結(jié)構(gòu)剪切和補(bǔ)充的頻率等。
· RequestBufferLookasideDepth 和 InternalRequestLookasideDepth 這些值控制與緩沖區(qū)管理有關(guān)的數(shù)據(jù)結(jié)構(gòu)的處理工作,以及應(yīng)該完成多少儲備以應(yīng)付負(fù)載波動情況。
用戶模式設(shè)置
IIS 注冊表設(shè)置
以下注冊表設(shè)置可以在下面的條目下找到:
HKLM\System\CurrentControlSet\Services\Inetinfo\Parameters\
· MaxCachedFileSize(REG_DWORD),以字節(jié)為單位。決定了能夠被緩存的文件大小(默認(rèn)為256 KB)。實(shí)際值根據(jù)數(shù)據(jù)表中最大文件的數(shù)量和大小以及可用的RAM數(shù)量而定。對頻繁訪問的大型文件進(jìn)行緩存可以降低CPU使用率,減少磁盤訪問以及相關(guān)的延遲時間。
· MemCacheSize(REG_DWORD),以MB為單位。將IIS用戶模式緩存限制為指定的大?。J(rèn)設(shè)置為根據(jù)可用內(nèi)存的數(shù)量由IIS調(diào)整緩存的大?。?。根據(jù)“熱門”文件集合(頻繁訪問文件的集合)的大小以及RAM數(shù)量或者IIS進(jìn)程地址空間(正常情況下應(yīng)該在2GB以下),需要認(rèn)真選擇本參數(shù)的值。
· DisableMemoryCache(REG_DWORD)。如果設(shè)置為1(默認(rèn)為0),則禁用用戶模式的IIS緩存。在緩存命中率非常小的時候,可以完全禁用緩存,以避免與緩存代碼路徑有關(guān)的開銷。
· MaxPoolThreads(REG_DWORD)。設(shè)置每個處理器能創(chuàng)建的池線程的最大數(shù)量(默認(rèn)為 4,范圍不限。)每一個池線程都觀察網(wǎng)絡(luò)請求,然后處理它們。MaxPoolThreads 計數(shù)沒有包括當(dāng)前處理ISAPI應(yīng)用程序的線程。如果CPU的平均使用率沒有處于最佳狀態(tài),應(yīng)該增加本參數(shù)的值,因為現(xiàn)有的所有線程都為繁忙狀態(tài),沒有用于處理新請求的可用線程。
· PoolThreadLimit(REG_DWORD)。設(shè)置系統(tǒng)能創(chuàng)建的池線程的最大數(shù)量(默認(rèn)值為處理器數(shù)量的4倍,范圍不限)。PoolThreadLimit 必須大于或等于MaxPoolThreads。正常情況下,PoolThreadLimit = MaxPoolThreads ´ 處理器數(shù)量。僅僅設(shè)置其中的一個參數(shù)是不夠的。如果同時指定了MaxPoolThreads 和PoolThreadLimit參數(shù),則可以施加更嚴(yán)格的限制。
· ObjectCacheTTL(REG_DWORD),以秒為單位。控制沒有被訪問過的對象在IIS用戶模式緩存中停留的時間長度(默認(rèn)值為30秒,如設(shè)置為0xFFFFFFFF則禁用對象緩存清道夫線程)。如果系統(tǒng)配備了足夠的內(nèi)存,而且提交的內(nèi)容不經(jīng)常變化,那么可以增加本參數(shù)的值。如果系統(tǒng)內(nèi)存不足而且用戶模式緩存的大小在不斷增長,則應(yīng)該降低本參數(shù)。請參閱本節(jié)下面的 ActivityPeriod 部分。
· ActivityPeriod(REG_DWORD),以秒為單位。只有當(dāng)文件在活動期限(默認(rèn)為10秒鐘,如果設(shè)為0則禁用本選項)內(nèi)被重復(fù)命中,才允許緩存文件。本參數(shù)會降低由于緩存不經(jīng)常訪問的文件而引起的緩存開銷,如果緩存內(nèi)容變化不大,而且沒有足夠的可用內(nèi)存,那么可以增加活動期限的值;或者,如果緩存上存在大量請求負(fù)載,可以降低活動期限的值。
· DataSetCacheSize(REG_DWORD)默認(rèn)值為50。設(shè)置配置數(shù)據(jù)庫數(shù)據(jù)集緩存中虛擬目錄條目的最大數(shù)量。如果已經(jīng)安裝的虛擬目錄的數(shù)量超過了默認(rèn)值,可以增加本參數(shù)的值。在提交靜態(tài)內(nèi)容的時候,一個容量不足的數(shù)據(jù)集緩存會增加延遲時間(更低的吞吐量和更低的CPU使用率)。
IIS Metabase
以下設(shè)置可以在 W3SVC/ 下找到。
· AspMaxDiskTemplateCacheFiles。啟用ASP腳本模板的磁盤緩存。ASP模板的編譯是一件非常耗費(fèi)處理器資源的工作。內(nèi)存大小限制了可以緩存在內(nèi)存中的模板的數(shù)量。從磁盤上的模板緩存中取回編譯后的模板所需的開銷比編譯ASP內(nèi)存緩存中沒有的模板要小。請參見下文中的 AspScriptEngineCacheMax 一節(jié)。
· AspDiskTemplateCacheDirectory。如果可能,可以將其設(shè)置為不頻繁使用的磁盤(例如,沒有和操作系統(tǒng)、分頁文件、IIS日志或者其他頻繁訪問的內(nèi)容共享的磁盤)。默認(rèn)目錄是 “%windir%\system32\inetsrv\Template Disk cache\ASP Compiled Templates”。
· AspScriptEngineCacheMax。將其設(shè)置為內(nèi)存容量所允許的最大的腳本引擎數(shù)(默認(rèn)為 125)。
· AspScriptFileCacheSize。設(shè)置為內(nèi)存容量所允許的最大的ASP模板數(shù)量(默認(rèn) 250)。請參閱前文中的AspMaxDiskTemplateCacheFiles一節(jié)。
· AspExecuteInMTA。如果在交付某些ASP內(nèi)容時希望對出現(xiàn)的錯誤或故障進(jìn)行檢測,請將本參數(shù)設(shè)置為1(啟用)。例如,如果需要托管多個站點(diǎn),而且每個站點(diǎn)都運(yùn)行在它自己的工作進(jìn)程之下,那么便可以啟用本參數(shù)。錯誤一般可以在事件查看器中的 COM+部分中看到。本設(shè)置啟用了ASP中的多線程單元模型(默認(rèn)值為0,表示禁用)。
· AspProcessorThreadMax。如果當(dāng)前設(shè)置(默認(rèn)為25)不足以滿足負(fù)載的需求(可能會導(dǎo)致某些請求出現(xiàn)錯誤),可以增加本參數(shù)的值。
· CentralBinaryLoggingEnabled。通過將本參數(shù)設(shè)置為TRUE,可以啟用集中的二進(jìn)制日志記錄。二進(jìn)制IIS日志記錄可以減少對CPU的使用,降低占用的磁盤空間以及減少磁盤I/O操作。集中的二進(jìn)制日志可以被導(dǎo)向一個二進(jìn)制文件,而無論托管站點(diǎn)的數(shù)量如何。分析二進(jìn)制格式的日志需要一個后處理工具。
IIS 工作進(jìn)程選項(IIS Admin UI、應(yīng)用程序池屬性)
在沒有管理員干預(yù)、服務(wù)重啟或者計算機(jī)重啟的情況下,IIS管理界面上的IIS工作進(jìn)程回收選項為發(fā)生的緊急故障或事件提供了有效的解決辦法。這樣的情況包括內(nèi)存泄漏,泄漏會增加內(nèi)存負(fù)擔(dān),或者導(dǎo)致工作進(jìn)程進(jìn)入不響應(yīng)或空閑狀態(tài)。在正常情況下,可能不需要啟用回收選項,所以可以關(guān)閉它(或者對系統(tǒng)進(jìn)行配置,以很低的頻率執(zhí)行回收工作)。在下面的章節(jié)中,黑體字名稱是per-app-pool(應(yīng)用程序池)變量。在使用腳本設(shè)置這些變量的時候,可以使用路徑“ /LM/W3SVC/AppPools/n”,在這里n 代表應(yīng)用程序池索引。
有三個選項,如下表所示:
· 回收選項。可以在“回收”選項卡中找到。
· 性能選項。 可以在“性能”選項卡中找到。
· 工作進(jìn)程健康監(jiān)視選項。可以在“健康”選項卡中找到。
表 8. 回收選項
參數(shù)
|
描述
|
PeriodicRestartRequests,DWORD,選項默認(rèn)為禁用,默認(rèn)值為35000
|
按照時間定期回收
|
PeriodicRestartRequests,DWORD,選項默認(rèn)為禁用,默認(rèn)值為35000
|
根據(jù)請求的(累計)數(shù)量定期回收
|
PeriodicRestartSchedule, MULTISZ,默認(rèn)為禁用,默認(rèn)為空字符串值
|
在指定的時間進(jìn)行回收
|
· PeriodicRestartMemory, DWORD,默認(rèn)值為512 MB
· PeriodicRestartPrivateMemory, DWORD,默認(rèn)值為192 MB
|
如果達(dá)到了以下兩個條件之一,基于內(nèi)存的回收(默認(rèn)為禁用)將允許回收工作進(jìn)程:
· 虛擬內(nèi)存的最大容量
· 已使用內(nèi)存的最大容量
如果面臨不斷增長的內(nèi)存容量壓力,可以其中一個參數(shù)或全部參數(shù),基于嚴(yán)格的內(nèi)存容量標(biāo)準(zhǔn),頻繁回收工作進(jìn)程,以緩解內(nèi)存壓力。
|
表 9. 性能選項
參數(shù)
|
描述
|
IdleTimeout,DWORD,以分鐘為單位,默認(rèn)值為20
|
在進(jìn)程的空閑時間超過指定的時間時,關(guān)閉工作進(jìn)程。這樣可以節(jié)省有限的內(nèi)存資源,但是如果CPU負(fù)載繁重,需要頻繁啟動新的工作進(jìn)程,則不建議采取這種做法,因為創(chuàng)建進(jìn)程會帶來一定的開銷。
|
AppPoolQueueLength,DWORD,默認(rèn)值為2000
|
限制每個應(yīng)用程序池(App-Pool)的內(nèi)核請求隊列的長度。請求會消耗分頁池,在對分頁池具有大量需求的情況下,應(yīng)該降低本參數(shù)的值。如果超過指定的長度,會導(dǎo)致服務(wù)器拒絕請求,并產(chǎn)生編號為503的非自定義錯誤。
|
CpuAccounting,BOOLEAN,默認(rèn)為禁用(0),啟用為1
|
監(jiān)視CPU的使用情況。您可以按照百分比設(shè)置CPU的最大使用率(CpuLimit,DWORD,默認(rèn)值為0)和監(jiān)視工作的刷新周期(CpuResetInterval,DWORD,默認(rèn)值為0,以分鐘計)。如果達(dá)到了CPU的使用率限制,或者不采取任何操作(但是會在事件日志中寫入一個事件),或者關(guān)閉工作進(jìn)程(CPUAction,DWORD,默認(rèn)值為0,表示“不采取任何操作”;最大值為1,表示“關(guān)閉工作進(jìn)程”)。
|
MaxProcesses,默認(rèn):使用1個工作進(jìn)程處理所有請求
|
可以在操作的Web Garden(Web園)模式中控制工作進(jìn)程的總數(shù)量。在Web Garden模式中,幾個工作進(jìn)程負(fù)責(zé)處理單個應(yīng)用程序池下的請求負(fù)載。沒有通過不同的應(yīng)用程序池為Web站點(diǎn)預(yù)先分配任何工作進(jìn)程。在某些情況下,一個工作進(jìn)程無法滿足負(fù)載的處理需要(可以通過糟糕的CPU使用率和漫長的響應(yīng)時間看出這一點(diǎn)),增加工作進(jìn)程的數(shù)量則有助于改善系統(tǒng)的吞吐量和CPU使用率。在托管了多個站點(diǎn)的情況下,可以考慮采用Web Garden模式。此外,在其中一個進(jìn)程突然崩潰的情況下,采用多個工作進(jìn)程還提供了更多可靠性,而且?guī)缀醪粫霈F(xiàn)所有服務(wù)均中斷的情況。與預(yù)先分配應(yīng)用程序池相比,Web Garden模式更容易設(shè)置和控制。
|
表10. 健康選項
參數(shù)
|
描述
|
PingingEnabled,BOOLEAN, 默認(rèn)值為1
PingInterval,DWORD,默認(rèn)值為30秒
|
以固定時間間隔(PingInterval)Ping 工作進(jìn)程(PingingEnabled)。如果沒有響應(yīng),則認(rèn)為工作進(jìn)程發(fā)生錯誤,IIS將試圖終止進(jìn)程并產(chǎn)生一個新的進(jìn)程。
|
RapidFailProtection,BOOLEAN,默認(rèn)
RapidFailProtectionMaxCrashes, DWORD,默認(rèn)為5個故障
RapidFailProtectionInterval, DWORD,默認(rèn)為5分鐘
|
設(shè)置在給定的時間段內(nèi)(RapidFailProtectionInterval)允許產(chǎn)生的最大故障數(shù)量(RapidFailProtectionMaxCrashes),對不斷快速產(chǎn)生故障的情況加以控制(RapidFailProtection)。如果到達(dá)了指定了故障率,應(yīng)用程序池將被禁用,并且在事件日志中寫入相關(guān)信息。
|
StartupTimeLimit,DWORD,默認(rèn)為90秒
|
控制工作進(jìn)程的啟動時間,超過此時間,則認(rèn)為其發(fā)生了故障。
|
ShutdownTimeLimit,DWORD,默認(rèn)為90秒
|
控制工作進(jìn)程的關(guān)閉時間,超過了此時間,則認(rèn)為其處于不響應(yīng)狀態(tài)。
|
安全套接字層的調(diào)整參數(shù)
安全套接字層(Secure Sockets Layer,SSL)的使用會加重CPU的負(fù)擔(dān)。SSL中最為耗費(fèi)資源的部分為建立會話所需的開銷(包括一次完整的握手),然后是重新連接的開銷和加密/ 解密的開銷。為了獲得更好的SSL性能,請執(zhí)行如下操作:
· 啟用SSL會話的“保持活動”(keep-alive)特性。這樣可以消除建立會話所需的開銷。
· 如果可能,重新使用會話(特別是對于那些沒有“保持活動”的流量)。
· 注意:密鑰越長,安全性就越高,但是需要的CPU時間就越多。
· 注意:并不是所有的頁面組件都需要加密。但是,混合的純文本HTTP和HTTPS可能會導(dǎo)致客戶端瀏覽器彈出一個警告,告知并不是所有的頁面內(nèi)容都得到了保護(hù)。
ISAPI
對于ISAPI,沒有任何具體的調(diào)整參數(shù)。如果編寫一個私有的ISAPI擴(kuò)展,請確保代碼在執(zhí)行和資源使用方面具有高效率。請參閱后文中的 影響IIS性能的其他問題。
托管代碼調(diào)整參數(shù)
· 確信已經(jīng)預(yù)先編譯了所有的腳本。可以在每個目錄中調(diào)用一個.NET腳本來完成這項工作。在編譯完成之后,需要復(fù)位IIS。在修改了 Machine.config、 Web.config或任何.aspx腳本之后需要重新編譯。
· 如果不需要會話狀態(tài)信息,請確信在每個頁面中關(guān)閉了此項目。
· 當(dāng)用戶在隔離模式(每個站點(diǎn)一個應(yīng)用程序池)下運(yùn)行包含ASP.NET腳本的多個主機(jī)的時候,應(yīng)該監(jiān)視內(nèi)存使用情況。請根據(jù)預(yù)計將要并發(fā)運(yùn)行的應(yīng)用程序池的數(shù)量,為IIS服務(wù)器配備足夠的內(nèi)存。考慮在存在多個隔離進(jìn)程的地方使用多個應(yīng)用程序域(app-domains)。
影響IIS性能的其他問題
· 安裝沒有緩存意識的過濾器。安裝沒有HTTP緩存意識的過濾器會導(dǎo)致IIS禁用全部緩存,從而造成性能急劇下降。老的ISAPI過濾器(在IIS 6.0之前編寫的過濾器)可能會存在這個問題??梢允褂肏TTP緩存的過濾器在配置數(shù)據(jù)庫中被標(biāo)記為“具有緩存意識”的過濾器。
· CGI 請求。出于性能的考慮,我們不建議使用CGI應(yīng)用程序處理請求。由于需要頻繁創(chuàng)建(和刪除)CGI進(jìn)程,會產(chǎn)生大量的系統(tǒng)開銷。更好的替代辦法是使用ISAPI程序和ASP(或ASP.NET)腳本。這些方式都可以使用隔離。
NTFS 文件系統(tǒng)設(shè)置
HKLM\System\CurrentControlSet\Control\FileSystem\ 下的 NtfsDisableLastAccessUpdate (REG_DWORD)1。
通過禁止更新最后一次訪問的文件或目錄的日期和時間戳記,這個針對整個系統(tǒng)的開關(guān)參數(shù)會降低磁盤I/O負(fù)載和縮短延遲。默認(rèn)情況下本鍵不存在,因此需要額外添加。如果操作包含數(shù)千個目錄的大型數(shù)據(jù)集(或者大量主機(jī)),禁用更新的效果十分明顯。如果只需要保留信息Web供Web管理使用,我們建議用戶使用IIS日志代替它。
警告:某些應(yīng)用程序(例如增量備份工具)需要使用這些更新信息,如果沒有這些信息,它們將無法正常工作。