收集 Exchange Server 2007 上有关版本存储问题的数据的备用方法
原文发布于 2011 年 10 月 4 日(星期二)
目前,您很可能已阅读了前面两篇由 Nagesh Mahadev(该链接可能指向英文页面) 和 Sushil Sharma(该链接可能指向英文页面) 撰写的有关此主题的博客。如果您最近尚未阅读它们(或给它们加上书签),我建议您立刻这样做。
此博客将讨论收集有关 Exchange Server 2007 的数据的备用方法,以及如何将数据收集器集设置为收集有关已分配的版本存储桶和两个用于转储 Windows Server 2008 上运行的存储的已计划任务的性能数据。
作为数据收集的一部分,下载 https://archive.msdn.microsoft.com/ExPerfwiz(该链接可能指向英文页面) 中讨论的 Exchange 2007/2010 性能数据收集脚本并按照说明运行它以开始捕获性能数据很重要。
下面是我们将在示例中使用的事件 ID 623:
源: ESE
事件 ID: 623
任务类别: 事务管理器
级别: 错误
描述:
MSExchangeIS (5828) SG4: 此实例(1)的版本存储已达到其最大值 155Mb。可能是因为长时间运行的事务阻碍了版本存储的清理,从而导致了版本存储增大。在完全提交或回滚长时间运行的事务之前,不能进行更新。
我们的计算方法与过去相同:x/1024 *32 = y,其中 x 是已分配的版本存储桶数,y 是总版本存储内存。现在,我们从上面的事件获知最大的版本存储内存为 155MB,因此可以计算出已分配的版本存储桶的最大数。x= (155*1024)/32,因此我们可以知道这是 4960。
下面是我们与以前的博客的不同之处。我们将只获得两个存储转储:
- 已分配的版本存储桶数超过可用总数的 80% 时的存储转储
- 触发事件 ID 623 时的存储转储
我们的第一个步骤是设置两个批处理文件。一个用于在已分配的版本存储桶数触发时转储存储,另一个用于在触发事件 ID 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
然后我们创建一个名为“Version Buckets”的用户定义的数据收集器集,我们将使用它来运行 VersionBucket.bat。请注意,这些步骤针对 Windows Server 2008。如果您运行的是 Windows Server 2003,请参阅此处(该链接可能指向英文页面)的步骤。
1. 打开性能监视器
2. 在“数据收集器集”下,右键单击“用户定义的”
3. 为它提供任意名称,例如“Version Buckets”,选择“手动创建(高级)”(Create manually (Advanced)),然后单击“下一步”(Next)。
4. 选择“性能计数器警报”(Performance Counter Alert),然后单击“下一步”(Next)
5. 单击“添加”(Add);选择“MSExchange Database==>Instances”作为“性能”(Performance) 对象,然后在“计数器”(Counters) 下选择“Version Buckets Allocated”。确保在“实例”(Instances) 下只选择了“SG4”。选择“添加”(Add),然后选择“关闭”(Close)。
6. 将“警报条件”(Alert when) 设置为“大于”(Above),并且“限制”(Limit) 值为“3968”(4960*.80),然后单击“下一步”(Next)
7. 选择“立即启动该数据收集器集”(Start this data collector set now),然后单击“完成”(Finish)
然后我们设置两个已计划的任务来运行批处理文件:
创建已计划的任务来在已分配的版本存储桶数触发时转储存储
1. 启动任务计划程序
2. 从操作窗格中选择“创建基本任务”(Create Basic Task)
3. 为它提供任意名称,例如“Version Buckets”,然后单击“下一步”(Next)
4. 选择“登录特定事件时”(When a specific event is logged),然后单击“下一步”(Next)
5. 选择“Microsoft-Windows-Diagnosis-PLA/Operational”作为“日志”(Log)
选择“Diagnosis-PLA”作为“源”(Source)
输入“2031”作为“事件 ID”(Event ID),然后单击“下一步”(Next)
6. 选择“启动程序”(Start a program),然后单击“下一步”(Next)
7. 在“程序或脚本”(Program/script) 下,浏览到包含 VersionBucket.bat 的目录,然后单击“下一步”(Next),再单击“完成”(Finish)
创建已计划的任务来在记录事件 ID 623 时转储存储
1. 启动任务计划程序
2. 从操作窗格中选择“创建基本任务”(Create Basic Task)
3. 为它提供任意名称,例如“Event ID 623”,然后单击“下一步”(Next)
4. 选择“登录特定事件时”(When a specific event is logged),然后单击“下一步”(Next)
5. 选择“Application”作为“日志”(Log),选择“Application”作为“源”(Source),输入“623”作为“事件 ID”(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 以查看原文
Comments
- Anonymous
January 01, 2003
Merry Christmas ,Christmas top gift (http://url7。me/c6i4 )