收集 Exchange Server 2007 上版本存放區問題資料的替代方法
英文原文已於 2011 年 10 月 4 日星期二發佈
到目前為止,您可能已事先閱讀過由 Nagesh Mahadev (可能為英文網頁) 和 Sushil Sharma (可能為英文網頁) 針對本主題所撰寫的兩個部落格。如果您尚未閱讀過它們 (或尚未將它們設為書籤),非常建議您現在就動作。
此部落格將討論收集 Exchange Server 2007 資料的替代方法,以及如何設定資料收集器設定,收集已配置的版本桶 (Version Buckets Allocated) 之效能資料,以及兩個排程的工作轉存 Windows Server 2008 上執行的存放區。
在收集資料的過程中,下載 https://archive.msdn.microsoft.com/ExPerfwiz (可能為英文網頁) 中所述之 Exchange 2007/2010 效能資料收集指令碼,並且依據指示加以執行以開始擷取效能資料相當重要。
以下是範例中所使用的事件識別碼 623:
來源:ESE
事件識別碼:623
工作類別:交易管理員
等級:錯誤
描述:
MSExchangeIS (5828) SG4:此執行個體 (1) 的版本儲存區已經到達其大小上限 155Mb。長期執行交易可能會無法進行版本儲存區的清理,進而導致儲存區增大。在完全認可或恢復長時間執行的交易前,將會拒絕更新。
我們的計算與過去相同:x/1024 *32 = y,其中 x 是配置的版本桶數目,而 y 是總版本存放區記憶體。現在,我們知道上述事件的版本存放區記憶體上限是 155Mb,因此,我們可以求出配置的版本桶數目上限。x= (155*1024)/32,因此我們會得到 4960。
以下是我們先前部落格的摘要。我們只會轉存兩類存放區內容:
- 其中之一會在配置的版本桶超出 80% 的總可用版本桶時
- 另一個則會在觸發事件識別碼 623 時
第一步是設定兩個批次檔,一個用於在觸發配置的版本桶時轉存存放區,而另一個則會在觸發事件識別碼 623 時:
VersionBucket.bat 內容:
C:\procdump\procdump.exe store.exe -MA -accepteula c:\store.dmp
EventID623.bat 內容:
C:\procdump\procdump.exe store.exe -MA -accepteula c:\store.dmp
然後,我們會建立要用以執行 VersionBucket.bat 的 [使用者定義的資料收集器] (User Defined Data Collector) 集合 [版本桶] (Version Buckets)。請注意,這些步驟適用於 Windows Server 2008。如果您執行 Windows Server 2003,請參閱此處 (可能為英文網頁)的步驟。
1. 開啟「效能監視器」
2. 在 [資料收集器集合工具] (Data Collector Sets) 下,於 [使用者定義] (User Defined) 上按一下滑鼠右鍵
3. 指定名稱 (如 [版本桶] (Version Buckets)),並選取 [手動建立 (進階選項)] (Create manually (Advanced)),然後按 [下一步] (Next)。
4. 選取 [效能計數器警訊] (Performance Counter Alert),並按 [下一步] (Next )
5. 按一下 [新增] (Add),並選取 [MSExchange Database==>Instances] 做為 [效能] 物件,然後選取 [計數器] (Counters) 下的 [已配置的版本桶] (Version Buckets Allocated)。請務必只選取 [執行個體] (Instances) 下的 [SG4]。然後依序選取 [新增] (Add) 和 [關閉]。
6. 將 [發生下列狀況時發出警訊:] (Alert when) 設為 [如上] (Above),而將 [極限] (Limit) 值設為 [3968] (4960*.80),並按 [下一步] (Next)
7. 選取 [啟動資料收集器集合工具] (Start this data collector set now),並按一下 [結束] (Finish)
接著,我們會設定兩個排定的工作執行批次檔:
觸發配置的版本桶時建立轉存存放區的排程工作
1. 啟動 [工作排程器]
2. 從執行窗格中選取 [建立基本工作] (Create Basic Task)
3. 指定名稱 (如 [版本桶]),並按 [下一步] (Next )
4. 選取 [當記錄特定的事件時] (When a specific event is logged),並按 [下一步] (Next)
5. 將 [記錄] (Log) 選取為 [Microsoft-Windows-Diagnosis-PLA/Operational]
將 [來源] (Source) 選取為 [Diagnosis-PLA]
輸入 [2031] 做為 [事件識別碼] (Event ID),並按 [下一步] (Next)
6. 選取 [啟動程式] (Start a program),並按 [下一步] (Next)
7. 在 [程式/指令碼] (Program/script) 下,瀏覽至含有 [VersionBucket.bat] 的目錄,並依序按 [下一步] (Next) 和 [完成] (Finish)
記錄事件識別碼 623 時建立轉存存放區的排程工作
1. 啟動 [工作排程器]
2. 從執行窗格中選取 [建立基本工作]
3. 指定名稱 (如 [事件識別碼 623] (Event ID 623)),並按 [下一步] (Next)
4. 選取 [當記錄特定的事件時] (When a specific event is logged),並按 [下一步] (Next)
5. 將 [記錄] (Log) 選取為 [應用程式] (Application),並將 [來源] (Source) 選取為 [應用程式] (Application),然後輸入 [623] 做為 [事件識別碼] (Event ID),再按 [下一步] (Next)
6. 選取 [啟動程式] (Start a program),並按 [下一步] (Next)
7. 在 [程式/指令碼] (Program/script) 下,瀏覽至含有 [EventID623.bat] 的目錄,並依序按 [下一步] (Next) 和 [完成] (Finish)
傳送收集轉存資料時所執行之轉存檔案、應用程式記錄與效能監視器記錄至 CSS,供進一步分析。
十分感謝 Mike Edwards、Michael Blanton 和 Eric Romero Rodriguez 協助完成本文章。
Eileen O’Rourke
這是翻譯後的部落格文章。英文原文請參閱 Alternative Method for Gathering Data for Version Store Issues on Exchange Server 2007。