C:\WIN2003\system32\LogFiles\HTTPERR 檔案夾下有許多的小檔案 一個正好是 1024KB 檔案名稱是httperr****.log 這樣格式的檔案。
在IIS 6.0中,記錄日誌的功能已經改為由http.sys實現,http.sys在核心模式下運行。這一改進加快了日誌寫入速度,同時避免了多個背景工作處理序爭用同一記錄檔。某些特殊的情況下,http.sys會遇到錯誤,這時它應該但卻不能將日誌資訊寫入Web網站的日誌,例如,背景工作處理序正在被回收,禁止http.sys處理使用者請求,或者使用者試圖串連到伺服器,但請求中只提供了IIS所需資訊的一部分。如果出現這類情況,http.sys將把事件寫入一個新的記錄檔httperr.log。
在排解故障、最佳化IIS 6.0的過程中,httperr.log記錄檔是十分重要的。預設情況下,httperr.log檔案儲存在\system32\logfiles目錄。在httperr.log記錄檔中可以找到的資訊包括:所有的503(服務不可用)錯誤,空閑連線逾時,解析URL時出現的各種錯誤,最後10個提交給失敗的應用程式集區的請求。
IIS 6.0還擁有一種稱為二進位日誌的功能,啟用這個功能後,IIS 6.0將把Web網站的所有日誌資訊寫入一個二進位格式的記錄檔,記錄檔的副檔名是.ibl。要啟用二進位日誌功能,只要把設定檔的W3SVCC/CentralBinaryLoggingEnabled條目設定成ture(1)即可。對於ISP來說,這個功能應該非常有用。ISP的每台機器上可能有1000甚至更多的Web網站,如果每個Web網站每天產生一個記錄檔,記錄檔的總數很快會達到一個天文數字。微軟最近發布的Log Parser 2.0工具能夠讀取二進位記錄檔並產生報告,這個工具可以從http://download.microsoft.com/download/iis50/utility/2.0/nt5xp/en-us/setup.exe下載。Log Parser 2.0還能夠讀取前面介紹的httperr.log檔案並產生報告。
解決方案
如果您檢查 C:\Windows\system32\LogFiles\HTTPERR\httperr*.log 檔案在父 SUS 伺服器, 您會將可能看到 Timer_MinBytesPerSecond 錯誤或 Timer_ConnectionIdle 錯誤。 這些是由 IIS 預設設定, 內其中繼資料庫, 定義用於串連到保持活動小通訊流速率和最大空閑時間之前串連中斷允許。
1) 從 IIS 管理器按右鍵 Internet Information Server (IIS) 管理器層級根目錄上並轉到屬性。 選中要啟用直接編輯中繼資料庫框。 單擊確定。
在記事本中開啟 C:\Windows\system32\inetsrv\MetaBase.xml 檔案 2)。 要搜尋有關 " MinFileBytesPerSec "。 將用於 MinFileBytesPerSec 設定從 240 更改為 0。 執行其他搜尋, 該時間將 600 " ConnectionTimeout "。 儲存更改並退出。
3) 重新啟動 IISAdmin 服務以更改生效。
一、關閉IIS HTTPRERR日誌功能
預設情況下,2003伺服器會把所有IIS訪問錯誤的記錄寫入 C:\WINDOWS\system32\LogFiles\HTTPERR 下的 log 檔案中,如果訪問量比較大,可能一段時間後 記錄檔可能會佔滿C盤空間,導致伺服器死機
同時因為要寫入所有的IIS訪問記錄,如果訪問量較大會大大增加伺服器CPU佔用率
關閉HTTPERR的方法
運行裡輸入 regedit 進入登錄編輯程式
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters]
在右邊 點滑鼠右鍵 建立dword值 EnableErrorLogging 重新啟動伺服器就可以了
"EnableErrorLogging"=dword:00000000
重起後,2003不再寫入HTTPERR記錄檔,可以看到伺服器CPU佔用明顯下降!
二、修改儲存目錄也不失為一個好的辦法
尋找:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
在下面建立一個字串值.即REG_SZ
數值名稱 命名為: ErrorLoggingDir
數值資料 為你指定的路徑 比如 D:\logofilse