跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

优化 Lotus Domino 服务器性能: HTTP 线程设置

George Demetriou, 性能工程师, Iris
George Demetriou 于 1997 年从 Eastman Software 转入 Iris 工作。他是一名性能工程师,一直负责 Domino Web 服务器性能测量和评估方面的工作。

简介: 本文对 Windows NT 上的 Domino Web 服务器的资源利用进行了性能分析。文中的测试展示了更改 HTTP 线程设置对服务器响应时间和资源利用率的影响。

查看本系列更多内容

发布日期: 1999 年 8 月 02 日
级别: 中级 其他语言版本: 英文
访问情况 : 1261 次浏览
评论: 


您是否已经将所有 Domino 服务器都设置为 “支持 Web”,但是又想充分利用系统资源?也许您还没有意识到,您可以调整服务器上运行的 HTTP 线程的数量,并提高服务器的响应时间和资源利用率。

在本文中,我们将深入了解 Windows NT 上 Domino Web 服务器资源利用率的性能分析。文中的测试展示了更改 HTTP 线程的设置对服务器性能的影响。我们首先定义什么是 HTTP 线程,然后描述测试方法和测试数据,最后总结测试结果。这可以帮助您决定将来如何设置您的环境。

有关如何针对 Lotus/Iris 实施性能分析的更多信息,或者有关所使用的工具的简介,请阅读 “优化服务器性能:端口加密和缓冲区设置”。要阅读改善服务器性能的更多建议,请参考 “提升服务器性能的十大方法”。

什么是 HTTP 线程?

HTTP 线程是处理传入 HTTP 请求的执行线程。要指定想在 Domino 服务器激活的线程的数量,可以使用 Public Address Book 中 Server 文档的 HTTP 部分的 “Number of active threads” 字段。默认设置是 40。在 Domino 服务器上初始化 HTTP 服务器任务时,将创建定义的线程,每个线程占用约 20-40Kb 的内存。在更改 Server 文档中的值并重启 HTTP 任务之前,这些线程的数量是固定的。

Domino 服务器在这里充当基于 HTTP 的消息传递服务器,在对它进行性能分析时,我们预期 HTTP 活动线程的设置应该等于特定 Domino 服务器上 Web 用户的数量。例如,如果您预计有 200 个 Web 用户使用 Domino 服务器,您可以假设应该将 HTTP 活动线程设置为 200。但是,正如您从我们的测试结果中看到的,实际情况并非如此


测试方法和测试数据

为了运行测试场景,我们安装了一个客户端,可以模拟运行新 NotesBench WebMail 工作负载的 Web 浏览器用户,其配置如下:

  • CPU:一个 Pentium II 处理器
  • 内存:256MB RAM
  • 操作系统:Windows NT 4.0 Workstation
  • Notes:Release 5(基于 Beta 1)
  • NotesBench WebMail 工作负载(可从 NotesBench 发行版 5 获取)

我们安装了一个 Domino 服务器,配置如下:

  • CPU:两个 Intel Pentium II/300MHz,512k 二级缓存
  • 内存:512MB RAM
  • 单个 SCSI 控制器
  • 跨 6 个磁盘驱动器创建 3 个硬件阵列
  • 硬盘驱动器:
    --Logical C:一个 RAID0 7200rpm 驱动器,用于操作系统
    --Logical D:一个 RAID0 7200rpm 驱动器,用于页面文件和 Domino 可执行文件
    --Logical F:一个 RAID5 7200rpm,带有 4 个驱动器,用于用户邮件文件、日志和邮箱(共 36GB 存储空间,用于 \data 目录)
  • 操作系统:Windows NT Server 4.0, Service Pack 3
  • Domino:Release 4.62 for Windows NT

具体来说,我们想测试改变以下 HTTP 线程设置时的相对影响(用户数量、响应时间、资源利用率):10、25、50、100 和 200。我们将每一种设置应用于 NotesBench WebMail,分别测试用户数为 25、50、100 和 200 的情况。该测试场景比较各种负载情况下的平均用户响应时间、探针响应时间、系统 CPU 利用率、占用的内存和磁盘利用率。我们在稳定状态下每次测试运行约 60 分钟,自举(ramp up)周期为 5 分钟。

我们在所有测试中使用的工作负载都是新的 NotesBench WebMail 工作负载,它在 R5 发布后可用。该工作负载允许每个模拟用户访问他们各自的邮件文件,邮件文件使用 R4.6 Mail - Combined 模版(mailc46.ntf)通过 HTTP 协议构建。每个用户迭代执行 15 分钟的脚本,该脚本由以下部分组成:

  1. 准备 10K 的消息并将其发送到三个收件人,这些收件人是从服务器的目录中动态选择的,每 15 分钟选择一次。
  2. 读取收件箱和前五个收件箱文档,然后删除第一个消息。

所有消息都可以通过同一个 Domino 服务器上的其他模拟 WebMail 用户发送和接受。

此外,WebMail 工作负载需要在客户端上设置以下 NOTES.INI:

  • ThreadStagger = 5(秒)
  • NormalMessageSize=10000
  • NumMessageRecipients=3

ThreadStagger 设置指定每个用户何时开始登录,在本例中,每个用户在 5 秒钟之后开始登录。该设置帮助服务器顺利地完成自举,在自举阶段不存在连接超时。NormalMessageSize 和 NumMessageRecipients 设置指定消息的大小 (10K) 以及 15 分钟的 WebMail 脚本中使用的收件人数量 (3)。

您可以通过侧栏 “HTTP 线程设置测试结果” 了解这些测试的结果。关于我们的结论,请参考下一节 “我们的发现”。


我们的发现

我们发现,HTTP 线程不一定 越多 越好。实际上,根据数据和图形可以看出,如果定义的 HTTP 线程数量高于实际需要的数量,将导致性能递减,内存消耗增加因此,您应该只定义服务器负载所需的最少 HTTP 线程数量。

针对给定用户负载确定最优 HTTP 线程设置的最佳方法是先运行与用户负载相符的 HTTP 线程设置。然后,在服务器控制台,输入以下内容检查使用的 HTTP 线程的最大数量:

show statistic domino.threads.active.peak

由于该值指示了使用的 HTTP 线程的最大数量,因此在 Server 文档中更适合使用该值设置 HTTP 线程。

如果您已经安装了 Domino 服务器并且大致了解它将支持的 Web 邮件用户的数量,那么可以将 HTTP 线程的数量设置为 Web 用户数的 10%,这是一个很好的初始值。例如,如果您预期 200 个 Web 邮件用户,那么合适的初始 HTTP 线程的数量为 20。用户运行之后,您可以根据 “domino.threads.active.peak” 统计数据对设置进行 “调优”。如果您经常发现 Peak 值与您定义的值一致,那么应该增加 Server 文档的 HTTP 部分定义的线程的值。

如果对基于 HTTP 的消息传递不使用服务器呢?您同样可以监控 “domino.threads.active.peak” 统计数据以确定启动的线程数是否高于实际所需的数量。通过降低线程数,您可以减少 HTTP 服务器使用的内存数量,从而将节省下的内存用于服务器的其他活动。


参考资料

关于作者

George Demetriou 于 1997 年从 Eastman Software 转入 Iris 工作。他是一名性能工程师,一直负责 Domino Web 服务器性能测量和评估方面的工作。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Lotus
ArticleID=398646
ArticleTitle=优化 Lotus Domino 服务器性能: HTTP 线程设置
publish-date=08021999
author1-email=GeorgeDemetriou@laura.com
author1-email-cc=

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。