如何监视联机碎片整理

 

适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1

上一次修改主题: 2007-08-30

监视联机碎片整理使您能够验证每个 Exchange 数据库的碎片整理频率是否足够(最佳实践是至少每两周一次)。监视联机碎片整理还可以使您减少联机维护时间,因此它具有以下优势:

  • 允许更多的时间用于数据库备份。

  • 验证是否可以在当前联机维护时间中引入联机校验和页面归零。

Microsoft Exchange Server 2007 Service Pack 1 (SP1) 引入了以下改进以帮助您监视联机碎片整理:

  • 事件 703 的扩展信息允许您更方便地监视联机碎片整理过程的完成。

  • 添加了两个扩展的可扩展存储引擎 (ESE) 性能计数器,用于监视联机碎片整理的效率和功效,可以与性能监视器(在 Windows Server 2008 中称为可靠性和性能监视器)一起使用。

本主题介绍如何使用这两个 Exchange 2007 SP1 改进来监视联机碎片整理。

开始之前

必须先在注册表中启用后才能使用联机碎片性能计数器。有关如何启用扩展的 ESE 性能计数器的信息,请参阅 如何启用扩展的 ESE 性能计数器

若要启用扩展的 ESE 性能计数器,必须为您使用的帐户委派以下权限:

  • Exchange 组织管理员权限

有关管理 Exchange 2007 所需的权限、角色委派以及权利的详细信息,请参阅权限注意事项

借助事件 703 监视联机碎片整理

在 Exchange 2007 SP1 之前,可以使用事件 700(已启动联机碎片整理)以及事件 703(已完成联机碎片整理)来监视每个 Exchange 数据库的联机碎片整理。通过使用事件查看器中的应用程序日志来搜索这些事件,您可以确定数据库完成联机碎片整理所花费的时间。但是,由于该过程非常冗长乏味,所以很少执行。因此,大多数管理员不知道每个数据库完成联机碎片整理的频率。

在 Exchange 2007 SP1 中,事件 703 的扩展信息允许您更方便地监视联机碎片整理过程的完成。以下是事件查看器应用程序日志中事件 703 的常见示例:

事件类型:信息

事件源:ESE

事件类别:联机碎片整理

事件 ID: 703

日期: 6/20/2007

时间:6:34:26 AM

用户:不适用

计算机:CO-MBX-3

说明:

MSExchangeIS (19052) SG05:联机碎片整理已完成数据库“e:\MDB05\database5.edb”的恢复过程,释放了 42794 个页面。该过程开始于 2007 年 6 月 16 日,共运行了 124919 秒,需要在 4 天内调用 7 次。自创建以来,该数据库已进行了全面的碎片整理,73 天 14 次。

对于服务器上的每个数据库,应该至少每两周完成一次联机碎片整理。如果在两天的时间内完成,则可以安全地缩短联机维护时间。

若要确定完成联机碎片整理的频率是否足够,则可以使用事件查看器查看事件 703。所使用的步骤取决于运行的 Windows Server 版本。

使用 Windows Server 2003 中的事件查看器通过事件 703 监视联机碎片整理

  1. 启动事件查看器。(依次单击“开始”、“控制面板”、“管理工具”,然后单击“事件查看器”。)

  2. 在事件查看器的控制台树中,单击“应用程序”查看应用程序日志。

  3. 若要筛选事件 703,请在菜单栏上单击“查看”,然后单击“应用程序属性”对话框中的“筛选器”选项卡。在“事件 ID”框中,键入 703,然后单击“确定”。

  4. 若要查看事件说明,请右键单击该事件,然后单击“属性”。

使用 Windows Server 2008 中的事件查看器通过事件 703 监视联机碎片整理

  1. 启动事件查看器。(单击“开始”、指向“管理工具”,然后单击“事件查看器”。)

  2. 在事件查看器的控制台树中,展开“Windows 日志”,然后单击“应用程序”查看应用程序日志。

  3. 若要筛选事件 703,请在操作窗格中单击“筛选当前日志”。此时将出现“筛选当前日志”对话框。

  4. 在“筛选当前日志”对话框的“筛选器”选项卡上,在“包含/排除事件 ID”框中键入 703,然后单击“确定”。ID 为 703 的所有事件将出现在结果窗格中。

  5. 若要查看事件说明,请右键单击该事件,然后单击“事件属性”。

有关使用事件查看器的详细信息,请参阅检查事件查看器

使用性能计数器监视联机碎片整理

在 Exchange 2007 SP1 中,已经添加了用于监视联机碎片整理效率和功效的以下性能计数器,以便和性能监视器一起使用:

  • “MSExchange Database ==> Instances \Online Defrag Pages Freed/Sec”   该计数器显示联机碎片整理由于压缩而释放的页面数量。

  • “MSExchange Database ==> Instances \Online Defrag Data Moves/Sec”   该计数器显示联机碎片整理过程每秒将数据从一个页面移动到另一个页面的次数。

正式发布 (RTM) 版本的 Exchange 2007 中可用的以下特定联机碎片整理计数器也可以在 Exchange 2007 SP1 中使用。

  • “MSExchange Database ==> Instances\Online Defrag Average Log Bytes”

  • “MSExchange Database ==> Instances \Online Defrag Log Records/sec”

  • “MSExchange Database ==> Instances \Online Defrag Pages Dirtied/sec”

  • “MSExchange Database ==> Instances \Online Defrag Pages Preread/sec”

  • “MSExchange Database ==> Instances \Online Defrag Pages Read/sec”

  • “MSExchange Database ==> Instances \Online Defrag Pages Re-Dirtied/sec”

  • “MSExchange Database ==> Instances \Online Defrag Pages Referenced/sec”

通过在联机维护期间为每个数据库记录“MSExchangeDatabase\Online Defrag Pages Freed/Sec”计数器和“MSExchangeDatabase\Online Defrag Pages Read/sec”计数器,然后比较碎片整理期间两个值的平均值比率,可以测量联机碎片整理的效率,并且确定是否可以减少联机碎片整理时间:

  • 如果读取与释放的比率大于 100:1,则可以减少联机碎片整理时间。

  • 如果读取与释放的比率小于 50:1,则应该增加联机碎片整理时间。

例如,如果“Online Defrag Pages Read/sec”的平均值等于 3275,并且“Online Defrag Pages Freed/Sec”的平均值等于 28,则比率为 117:1,因此可以减少联机碎片整理时间。

该比率可以度量联机碎片整理过程的效率,以及它提供的优势。目标是平衡数据库读取输入/输出 (I/O)(需要分析数据库以便进行联机碎片整理)与实际的数据库压缩工作(数据库根据碎片整理过程所指定的工作写入 I/O)。也就是说,目标是在执行碎片整理分析和执行实际的碎片整理之间找到平衡点。

使用扩展的 ESE 性能计数器监视联机碎片整理

  1. 启用扩展的 ESE 性能计数器。有关如何启用扩展的 ESE 性能计数器的信息,请参阅 How to Enable Extended ESE Performance Counters(如何启用扩展的 ESE 性能计数器)。

  2. 若要启动性能监视器 (Windows Server 2003) 或可靠性和性能监视器 (Windows Server 2008),请单击依次“开始”、“运行”,然后键入 PerfMon

  3. 为要监视的存储组创建一个记录“MSExchange Database ==> Instances\Online Defrag Pages Freed/Sec”和“MSExchangeDatabase ==> Instances \Online Defrag Pages Read/sec”计数器的计数器日志。有关如何记录计数器的信息,请参阅以下 Windows Server 帮助主题之一:

    • 可靠性和性能监视器帮助中的 Windows Server 2008:“创建数据采集器集”。

    • 性能计数器帮助中的 Windows Server 2003: Create a Counter Log(创建计数器日志)。

  4. 安排计数器日志在联机碎片整理期间运行并以 60 秒的时间间隔对数据进行采样。

  5. 查看日志并确定在碎片整理期间这两个计数器的平均值。

  6. 将平均读取的值除以平均释放的值。如果读取与释放的比率大于 100:1,则可以减少联机碎片整理时间。如果读取与释放的比率小于 50:1,则应该增加联机碎片整理时间。

注意   可以使用 Exchange 命令行管理程序获得数据库的联机维护时间。例如,若要获得有关邮箱数据库的信息,请使用以下命令:GetMailboxDatabase -Identity <database> | FL。也可以在 Exchange 管理控制台中右键单击数据库,单击“属性”,然后查看“常规”选项卡上的“维护日程安排”列表。

详细信息

有关监视服务器性能的详细信息,请参阅监视服务器性能