/ 中存储网

如何使用 Exchange Server 2003 压力工具进行压力测试

2014-08-29 00:36:28 来源:中存储网

本文将帮助您先在非生产环境的测试实验室中对企业的 Microsoft® Exchange Server 2003 环境进行测试,然后在生产环境中实施规划。如果是首次规划部署 Exchange Server 2003 或是从较早版本的 Exchange 升级到 Exchange Server 2003,建议您先在与生产环境类似的环境中对部署规划进行测试。如果要升级到新硬件或新的存储解决方案,也建议在生产环境中实施新硬件或新存储设备之前先在新环境中测试 Exchange。

通过在预生产环境中进行测试,可以:

验证是否满足硬件要求。
为用户规划平稳的过渡。
评估通过使用新软件或硬件所能实现的性能改进。

本文中提供的内容

本文将帮助您使用以 Exchange Server 2003 下载形式提供的多个工具规划、设置、实施和分析您的测试。有关所有 Exchange 下载的详细信息,请参阅“Exchange 2003 下载”( http://go.microsoft.com/fwlink/?LinkId=25097 )。

本文包括:

有关调整每个可用于测试的压力工具的准则,以便您能够最大限度地模拟实际生产环境。
各种压力工具的说明和比较,以便您了解在拓扑验证和测试的不同阶段应使用哪些工具。
有关可以配合使用哪些工具来模拟生产环境的信息。
有关如何在测试期间监视工具和 Exchange 服务器的说明。
根据每台 Exchange 服务器上的活动自定义测试的建议和准则(如有必要)。

本文中未提供的内容

本文未提供如何使用用于在 Exchange 服务器上运行压力测试的工具的逐步说明。但却提供了包括每个工具详细说明的文档链接。

工具

使用以下工具测试 Exchange Server 2003 部署:

Exchange Server 2003 Jetstress 工具
Exchange Server Load Simulator (LoadSim) 2003
Exchange Server Stress and Performance (ESP) 2003

每个工具负责验证 Exchange Server 2003 部署规划的不同部分。通过将这三个工具配合使用,可以测试基础存储解决方案,以及服务器和存储解决方案在用户活动期间的整体性能。

测试 Exchange Server 2003 部署规划

在实验室中对大型 Exchange 环境进行压力测试分为两个阶段。第一个阶段涉及到测试存储解决方案(其中包括存储区域网络 (SAN) 设备、磁盘阵列以及用于存储 Exchange 数据的内部磁盘)是否能够满足对速度和可靠性的要求。第二个阶段涉及到在测试整个系统(包括 Exchange 服务器硬件、网络能力、存储解决方案和客户端访问)的同时运行模拟 Exchange 用户活动的测试。

测试存储解决方案

测试存储解决方案时,测试实验室中的磁盘子系统应该尽可能与生产环境中的磁盘子系统相像。使用 Jetstress 工具能够验证存储配置是否能够满足 Exchange 对磁盘的负载要求。

Jetstress

Jetstress 能够模拟 Exchange 磁盘输入/输出 (I/O) 负载。它并不模拟实际的用户活动;而是模拟指定数量的用户对 Exchange 数据库文件和日志文件产生的负载。有关如何运行 Jetstress 测试的详细信息,请参阅 Exchange Server 2003 Jetstress Tool(英文网页)( http://go.microsoft.com/fwlink/?LinkId=27883 )。

完成 Jetstress 测试并验证过磁盘子系统后,请务必删除由 Jetstress 工具创建的数据库文件和日志文件。

删除 Jetstress 数据库和日志文件

如果使用的是 Jetstress 2004,请删除目录 c:jetstress 及其所有内容。

如果使用的是命令行 Jetstress 工具,请删除下列目录及其所有内容:

C:jetstress
G:Jetstress_db1
H:Jetstress_db2
I:Jetstress_log1
J:Jetstress_log2

用户模拟测试

用户模拟测试是指使用压力工具在实验室中测试 Exchange 环境,以验证系统在负载情况下是否运行良好。用于用户模拟 Exchange 服务器压力测试的两种推荐工具包括 LoadSim 2003 和 ESP 2003。这些工具可从客户端计算机执行任务,与用户从电子邮件客户端执行任务的方式相同。这些工具执行的任务是模拟对 Exchange 服务器的操作。在与生产环境类似的环境中使用 LoadSim 2003 和 ESP 2003 工具,将有助于您验证用户在 Exchange 组织中的体验。

LoadSim 2003

LoadSim 2003 可模拟 Microsoft Office Outlook® 2003 的任务并向 Exchange 服务器发出远程过程调用 (RPC)。这些从客户端发送到服务器的 RPC 使用 MAPI 协议,可直接访问 Exchange 存储。有关如何运行 LoadSim 的详细信息,请参阅 Exchange Server Load Simulator 2003 (LoadSim)(英文网页)( http://go.microsoft.com/fwlink/?LinkId=27882 )。

有关如何进行大部分 LoadSim 测试的信息,请参阅本文后面的“占用时间和资源的任务”部分。

用户配置文件

LoadSim 中有 4 类默认用户配置文件:

重量级
中等
缓存模式
MMB3

重量级配置文件最大程度地模拟了被归为信息工作者类别的用户,他们使用 Outlook 的频率最高。每位运行重量级配置文件的用户每天接收大约 210 封邮件,发送大约 50 封邮件。

每位运行中等配置文件的用户每天接收大约 140 封邮件,发送大约 30 封邮件。

缓存模式的配置文件模拟在缓存 Exchange 模式下运行 Outlook 的用户。此配置文件会启用脱机通讯簿任务和同步文件夹任务,并禁用清理收件箱和浏览邮件任务。每位运行缓存模式配置文件的用户每天接收大约 160 封邮件,发送大约 45 封邮件。

MMB3 配置文件专门用作比较硬件和软件产品的基准。不用于模拟生产环境中特定类型的用户。

如果已收集来自生产环境的用户配置文件数据,则可以使用这些数据自定义自己的用户配置文件。

自定义用户配置文件

启动 LoadSim。

在“配置”菜单上,单击“测试属性”

在“用户组”框中,选择一个用户组,然后单击“自定义任务”

在“任务”选项卡上,编辑“任务”列表中的任务,使这些任务与从生产环境中收集的配置文件数据类似。

邮箱大小

LoadSim 使用的默认邮件集中的平均邮件大小约为 100 KB。可以在 LoadSim 中调整初始化参数以创建一个拓扑,在该拓扑中,用户邮箱平均大小类似于生产环境中的平均邮箱大小。若要使邮箱在整个 LoadSim 测试中大小几乎不变,可以限制 LoadSim 在用户收件箱及其他文件夹中保留的邮件数量。通过将这些限制设置为与在初始化过程中设置的相同邮件数量,即可使用户邮箱的大小保持相对不变。

限制 LoadSim 在用户邮箱和文件夹中保留的邮件数量

启动 LoadSim。

在“配置”菜单上,单击“测试属性”

在“用户组”框中,选择一个用户组,然后单击“自定义任务”

在“任务”选项卡上的“任务”列表中,选择“清理收件箱”

在“邮箱中的最大邮件数”框中,设置“限制为 X 封邮件”选项,其中 X 是收件箱在给定时间里允许的邮件数量。

在“任务”列表中,选择“浏览邮件”

在“文件夹中的最大邮件数”框中,设置“限制为 X 封邮件”选项,其中 X 是所有其他文件夹在给定时间里允许的邮件数量。

单击“确定”

占用时间和资源的任务

LoadSim 配置文件中的一些活动会对服务器产生明显的时间影响或资源影响。如果 Exchange 服务器过载,可以调整 LoadSim 配置文件中的任务以减少对 Exchange 服务器的压力。本部分中介绍的是占用时间或占用资源的任务,这些任务将导致对 Exchange 服务器的极大压力。

会向 Exchange 服务器明显增加压力的一个任务就是将动态通讯组列表添加到邮件中。

将动态通讯组列表添加到 LoadSim 用户发送的邮件中

启动 LoadSim。

在“配置”菜单上,单击“测试属性”

在“用户组”框中,选择要对其启用添加动态通讯组列表的用户组,然后单击“自定义任务”

在“任务”选项卡上的“任务”列表中,选择“发送邮件”

选择“向已发送的 X % 的邮件添加一个 DLL”选项,并在框中设置百分比。

单击“确定”

向邮件添加动态通讯组列表能够使 Exchange 服务器的负载明显增加,在动态通讯组列表非常庞大时更是如此。若要使用动态通讯组列表,首先使用在列表中具有较少别名的动态通讯组列表,并将动态通讯组列表添加到一小部分邮件中。例如,为每个邮箱存储创建一个动态通讯组列表,并只向非常小的一部分邮件(例如,1%)添加一个动态通讯组列表。

创建动态通讯组列表或更改动态通讯组列表的大小

启动 LoadSim。

在“配置”菜单上,单击“拓扑属性”

在“通讯组列表”选项卡上,选中“使用动态通讯组列表”复选框。

选择“为所有 LoadSim 用户创建一个列表”、“为每个服务器创建一个列表” 或“为每个 MDB 创建一个列表”

单击“确定”

在“运行”菜单上,单击“创建拓扑”。如果已经创建通讯组列表和动态通讯组列表,它们将被删除并会使用新的设置重新创建。

若要减少向动态通讯组列表发送邮件的 Exchange 服务器的负载,请指定单独的服务器作为每个动态通讯组列表的展开服务器,以便庞大的动态通讯组列表不会在发送服务器上展开。有关如何使用展开服务器的信息,请参阅 Microsoft 知识库文章 328791,“如何使用带有 Exchange 2000 的展开服务器”( http://go.microsoft.com/fwlink/?LinkID=3052&kbid=328791 )。

另一项能够向 Exchange 服务器明显增加压力的 LoadSim 任务是将随机视图和排序顺序应用于收件箱和其他文件夹。可以为清理收件箱任务中的收件箱和浏览邮件任务中的其他文件夹配置此任务。

如果每位用户的约会数量参数错误配置,也会使 Exchange 服务器明显增加压力。LoadSim 可基于“制定约会”任务中设置的定期约会百分比创建单实例约会和定期约会。LoadSim 创建的所有定期约会都没有结束日期。因此,如果存在一定比例的定期约会,用户日历中的项目总数可能会远远超出“初始化”选项卡中指示的数量。如果日历非常大,日历任务可能会成为既占用时间又耗费资源的任务。

用户登录也可能是一项非常占用时间的任务。如果选择让用户在测试开始时立即登录,则所有用户都会迅速登录,并且在客户端的所有用户登录之前,该客户端计算机上将不会开始任何其他任务。例如,1,000 个用户应在 10 分钟之内全部登录。如果清除“测试开始时立即登录”复选框,则只要用户登录,LoadSim 就开始执行该用户的其他任务。在这种情况下,1,000 个用户全部登录所需的时间可能为 1 小时或更多时间。尽管用户在测试开始时立即登录所需的时间较少,但是 LoadSim 并不模拟用户在生产环境中的登录方式。在生产环境中,用户在不同的时间登录,并在登录后立即开始执行任务。

配置用户的登录方式

启动 LoadSim。

在“配置”菜单上,单击“测试属性”

在“用户组”框中,选择要对其配置登录的用户组,然后单击“自定义任务”

在“测试/登录”选项卡中,清除或选中“测试开始时立即登录”复选框。

单击“确定”

故障排除

若要解决与 LoadSim 有关的常见问题和错误,请参阅随 LoadSim 2003 工具一起下载的 Load Simulator 2003 文档中的“故障排除和常见问题”部分。

Exchange Server Stress and Performance 2003

ESP 2003 能够模拟下列协议:

HTTP/DAV(也称为 WebDAV)
Internet 邮件访问协议版本 4rev1 (IMAP4)
轻型目录访问协议 (LDAP)
OLEDB
邮局协议版本 3 (POP3)
简单邮件传输协议 (SMTP)
网络新闻传输协议 (NNTP)
Outlook 移动访问
MobileSync(也称为 Exchange Server ActiveSync)

有关 Exchange Server Stress and Performance 2003 的详细信息,请参阅 Exchange Server Stress and Performance 2003(英文网页)( http://go.microsoft.com/fwlink/?LinkId=27881 )。

自定义协议压力测试

应在测试中使用的协议压力类型取决于预期在生产环境中使用的客户端软件组合。如果用户将通过 IMAP4 客户端或 POP3 客户端访问其邮箱,则应在测试方案中包括这些协议。如果用户将使用 Outlook 连接到 Exchange 服务器,则应将测试方案的重点放在测试 LoadSim 上,因为后者模拟了 Outlook 对服务器的呼叫。如果用户能够使用 Microsoft Outlook Web Access、Outlook Mobile Access Browse 或 MobileSync 远程访问其电子邮件,则应将这些协议添加到测试中。在测试中为服务器带来的来自这些移动客户端的压力数量应基于在生产环境中的预期使用情况。这种情况可能会随着时间改变,所以请确保根据使用情况的增长提高测试方案中的移动访问的比例。

多协议测试示例

以下是多协议测试实验室的测试方案示例。此方案中的 Exchange 服务器有 1,000 个用户,他们频繁使用 Outlook 的邮件和日历功能。这些用户偶尔也会使用 Outlook Web Access 访问自己的邮箱。在此示例中,大约 10% 的用户还拥有移动设备并偶尔使用 Outlook Mobile Access Browse 和 Sync。在此方案中,有的用户还使用 POP3 客户端访问其邮箱,而有的用户则使用 IMAP4 客户端访问邮箱。

此测试应包括 1,000 个重量级 LoadSim 用户。还应包括以下 ESP 模块:DAV、Outlook Mobile Access Browse、MobileSync、POP3 和 IMAP4。这些模块与 LoadSim 压力同时运行。

在此测试中,并发 DAV 实例数应为每台 Exchange 服务器上大约 100 个。在此示例中,该 DAV 实例数反应了如下事实:用户通常使用 Outlook 连接其邮箱,并使用 Outlook Web Access 作为辅助客户端。

用于测试的并发 Outlook Mobile Access Browse 实例和 MobileSync 实例数应为每个 Exchange 服务器大约 30 个。在此示例中,该 Outlook Mobile Access Browse 和 MobileSync 实例数反应了如下事实:在组织中只有大约 10% 的用户拥有移动设备。在这些用户中,只有不到一半的用户同时处于连接状态。

在确定并发 POP3 实例数前,需要了解 POP3 并不是一种连接协议。这意味着,用户并没有与服务器保持持续连接。POP3 客户端连接到服务器,执行一些任务,然后断开。在任何指定的时间里,只有非常少的并发 POP3 与 Exchange 服务器连接。因此,用于此测试的 POP3 实例数应为 5。

IMAP4 是一种连接协议。与 POP3 不同,IMAP4 客户端即使在闲置期间也仍与 Exchange 服务器保持连接。因此,并发连接数反应了预期的 IMAP4 使用情况。用于此测试的并发 IMAP4 实例数应为 100。

运行用户模拟测试的技巧

若要成功运行这个具有多种不同协议的大型测试,需要提高从较轻的压力到此重量级多协议方案的比例。首先,分别测试每个协议,以确保配置和有关压力数量的假设与硬件和存储配置一致。对于将产生大量并发连接的协议,请从大约占连接或用户总数 10% 到 20%、具有相对数量较小的协议开始。允许压力运行两个小时,以便服务器上的活动有机会在用户登陆的初始负载后达到平衡。在服务器平稳运行后,以等值增量增加连接数。在达到测试连接总数之前,不断增加连接数。以这种方式测试所有的协议后,同时开始添加多协议压力,然后同样以等值增量的方式逐渐增加连接数。

在不断提高比例的同时,请确保查找工具和事件查看器中的错误。监视客户端的 loadsim.out 文件,以查找错误。监视 LoadSim 输出窗口,以检查挂起的任务队列。如果“任务挂起”计数器不断增加,Exchange 服务器将无法处理由 LoadSim 生成的负载。必须在开始对所有协议的真正测试之前查出该问题的起因。如果在 loadsim.out 文件中找出错误,请参阅 Exchange Server Load Simulator 2003 中的“故障排除和常见问题”部分 ( http://go.microsoft.com/fwlink/?LinkId=27882 )。运行 ESP 时,请确保保留日志文件,并检查其连接性错误、脚本或其他文件中的错误,或者 ESP 配置错误。

保存 Exchange Server 压力和性能 (ESP) 的日志文件

启动 ESP。

右键单击主机,然后单击“属性”

在“选项”选项卡中,双击“日志结果”参数旁边的值字段,然后在字段中键入“是”

若希望在每次启动 ESP 模块时存档日志文件,请双击“存档日志”参数旁边的值字段,然后在该字段中键入“是”

确认“日志文件路径”的值正确无误。

单击“确定”

以下是解决 ESP 错误的技巧:

尝试单实例运行整个脚本,并且该脚本中没有休眠命令。如果运行成功,则逐步增加更多的实例,直到达到合适的实例数。
尝试手动执行导致 ESP 错误的操作。例如,如果存在 DAV 模块错误,可通过打开 Web 浏览器并转至 Web 地址 [Exchange server]/exchange/[username] 登录到用户的邮箱。如果是 POP3 模块错误,则打开到端口 110 的 TCP 连接,然后尝试登录并完成导致错误的操作。手动测试通常有助于发现出现问题的地方。

最后,在扩展测试和实际测试期间,请保持性能监视器登录到 Exchange 服务器的状态。有关要记录的计数器和要注意的阈值的信息,请参阅 Troubleshooting Exchange Server 2003 Performance(英文网页) ( http://go.microsoft.com/fwlink/?LinkId=22811 )。