POP3 的基准性能
上一次修改主题: 2005-06-28
此部分提供了邮局协议版本 3 (POP3) 服务器上的基准性能数据。POP3 是一种 Internet 协议,它使 POP3 客户端能够从服务器上下载电子邮件。此协议可很好地工作在无法与服务器建立持久连接的计算机上。
POP3 前端服务器
此方案可以评估专用的 POP3 前端服务器在不同数量的客户端请求下进行扩展的程度。前端服务器使用的是有超线程功能的 Pentium 4 Xeon 处理器。
硬件
下表显示了此方案中所使用的五台服务器的规格。
POP3 前端服务器硬件配置
服务器类型 | 处理器类型 | RAM | 存储 |
---|---|---|---|
前端服务器 |
Intel P4 Xeon 2 处理器,2.6 GHz(超线程) |
1 GB |
|
四台后端服务器 |
Intel P4 Xeon 8 处理器,550 MHz |
4 GB |
|
方案
所发送邮件平均大小为 26 KB。每个用户的收件箱在测试开始之前都有 31 封 邮件。当 POP3 前端服务器从 Internet 上收到传入的发给某收件人的电子邮件时,传输通信就产生了。POP3 前端服务器的活动包括用户登录到服务器、检索所有邮件以及删除服务器上的所有邮件。每秒钟传递到邮箱的 SMTP 邮件的数量等于每秒钟通过 POP3 检索和删除的邮件数量。与邮件检索和删除关联的 POP3 命令是 RETR 和 DELE。由 POP3 客户端发出的、确定邮箱中邮件数量的 POP3 命令是 STAT。RETR、DELE 和 STAT 的统计计数器可用于确定前端服务器每秒产生的 POP3 事务的数量。可通过系统监视器访问这些计数器,Microsoft Windows Server 2003 操作系统中包含系统监视器。
在此方案中,POP3 服务器接收到的 STAT 命令的数量几乎是 RETR 和 DELE 命令的两倍。Exchange 压力和性能工具 (ESP) 用于生成此服务器负载。有关该工具的详细信息,请参阅 Exchange Server 2003 性能工具。
下表显示了使用一系列有特定配置文件的后端服务器时,硬件使用率的不同。请注意,当处理器的使用增加时,前端服务器的上下文切换不会显著增长。
POP3 前端性能
后端服务器 1 | 后端服务器 2 | 后端服务器 3 | 后端服务器 4 | |
---|---|---|---|---|
Front-End Processor % |
13.0 |
27.9 |
55.1 |
81.0 |
Context Switches/sec |
11,423 |
20,495 |
24,872 |
23,217 |
POP3 DELE/sec |
48 |
94 |
102 |
174 |
POP3 STAT/sec |
124 |
215 |
356 |
380 |
Network Usage(Kbps) |
4,245 |
6,580 |
8,227 |
12,846 |
Inetinfo Working Set |
127 MB |
172 MB |
172 MB |
172 MB |
有关此方案中使用的性能计数器的详细信息,请参阅性能计数器定义。
处理器
POP3 在双处理器服务器上扩展良好,因为在处理器负载较重时上下文切换的数量较少。下图显示了双处理器前端服务器的上下文切换是如何随着处理器使用的增加而渐趋平稳的。
内存
POP3 前端服务器的高效运行几乎不需要任何内存。当 POP3 前端服务器上的 POP3 并发会话增加时,内存使用并不显著增加。内存不显著增加的原因在于 POP3 客户端并不长时间与前端服务器保持连接,这使得内存的使用相对较少。可以禁用 POP3 前端服务器的 MSExchangeIS (Store.exe) 服务,这样可额外节省内存。如果禁用此服务,则 POP3 前端服务器可在 256 MB RAM 下高效运行。
磁盘使用
在确定 POP3 专用前端服务器的硬件要求时,请考虑所需的磁盘空间。POP3 前端服务器很少使用其硬盘,因为它是作为代理服务器而运行的,它将每个协议会话传递到相应的后端服务器中。如果 Exchange 系统管理器中启用了 POP3 虚拟服务器的协议日志记录,则会在前端服务器上使用硬盘存储请求的协议日志。Windows Server 2003 中的缓存管理器也使用磁盘对页面文件进行读取和写入分页信息的操作。当活动的系统进程需要额外内存时,缓存管理器使用页面文件来临时存储来自 RAM 的、最近尚未访问的信息。您可通过增加服务器的 RAM 使分页活动最小化。
256 MB 或更多物理内存的 POP3 前端服务器很少进行分页。有一个磁盘心轴的 POP3 前端服务器对大部分应用程序来说已经足够。如果运行的是启用协议日志记录的大型服务器,请考虑再添加一个心轴。
网络使用
在 POP3 前端服务器上,必须在试图确定所需硬件类型时将网络流量考虑在内。因为 POP3 前端服务器可对多个后端服务器提供服务,所以产生在前端服务器的网络流量经常很大。任何高端前端服务器的最低网络要求是以全双工模式(意味着可同时发送和接收数据)运行的 100 Mbps 的单个网络适配器。如果采用一台前端服务器与四台后端服务器的比率,那么使用双处理器 2.6 GHz 的前端服务器能以大约 13 Mbps 的速度向后端服务器传输数据,这需要一个千兆比特的网卡或多个 100 Mbps 的网卡。此示例创建了相当大的网络流量,因为一个 100 Mbps 的全双工网络连接的饱和点在 7 到 8 Mbps 左右。
对于有两个或多个 2.6 GHz 或更快的处理器的高端前端服务器,建议使用两个 100 Mbps 的全双工网络连接,或一个千兆比特的以太网连接。此类服务器可轻易地超越单个 100 Mbps 全双工连接的能力。
若要在多个 POP3 前端服务器之间平衡客户端负载,可使用网络负载平衡。网络负载平衡使多个前端服务器显示为一台服务器,同时传入连接被明智地分散于可用的前端服务器池中。
POP3 后端邮箱服务器
此方案可以评估 POP3 后端服务器在不同数量的、通过专用前端服务器的客户端请求下进行扩展的程度。后端服务器使用的是有超线程功能的 Pentium 4 Xeon 处理器。
硬件
下表显示了此方案中所用的五台服务器的规格。
POP3 后端硬件配置
服务器类型 | 处理器类型 | RAM | 存储 |
---|---|---|---|
前端服务器 |
Intel P4 Xeon 2 处理器,2.6 GHz(超线程) |
1 GB |
|
四台后端服务器 |
Intel P4 Xeon 8 处理器,550 MHz |
4 GB |
|
方案
所发送邮件平均大小为 26 KB。每个用户的收件箱在测试开始之前都有 31 封 邮件。当 POP3 前端服务器从 Internet 上收到传入的发给某收件人的电子邮件时,传输通信就产生了。POP3 前端服务器的活动包括用户登录到服务器、检索所有邮件以及删除服务器上的所有邮件。每秒钟传递到邮箱的 SMTP 邮件的数量等于每秒钟通过 POP3 检索和删除的邮件数量。与邮件检索和删除关联的 POP3 命令是 RETR 和 DELE。由 POP3 客户端发出的、确定邮箱中邮件数量的 POP3 命令是 STAT。RETR、DELE 和 STAT 的统计计数器可用于确定前端服务器每秒产生的 POP3 事务的数量。可通过系统监视器访问这些计数器,Microsoft Windows Server 2003 操作系统中包含系统监视器。
在此方案中,POP3 服务器接收到的 STAT 命令的数量接近于 RETR 和 DELE 命令的两倍。Exchange 压力和性能工具 (ESP) 用于生成此服务器负载。有关该工具的详细信息,请参阅 Exchange Server 2003 性能工具。
下表显示了对 POP3 和入站 SMTP 请求提供服务的 Exchange 2003 后端服务器在不同的用户负载下如何运作。
POP3 后端性能
1000 个 POP3 用户 | 1500 个 POP3 用户 | 1750 个 POP3 用户 | 2000 个 POP3 用户 | |
---|---|---|---|---|
% Processor Time |
28.8% |
51.7% |
67.3% |
84.7% |
Context Switches/sec |
16,201 |
21,436 |
23,286 |
24,537 |
SMTP Messages Del/sec |
23.5 |
34.9 |
40.3 |
44.6 |
SMTP Local Queue |
3.2 |
7.4 |
12.9 |
24.2 |
POP3 STAT/sec |
173 |
257 |
296 |
332 |
POP3 DELE/sec |
23.3 |
34.8 |
40.2 |
44.2 |
Disk Transfers/sec |
631 |
891 |
989 |
1,053 |
Network Usage(Kbps) |
1,926 |
2,760 |
3,136 |
3,459 |
有关此方案中使用的性能计数器的详细信息,请参阅性能计数器定义。
处理器
POP3 在四处理器服务器上能很好地进行扩展。当处理器在 84.7% 时,服务器运行稳定,且仅产生 24,537 个上下文切换。下图显示了在四处理器服务器上运行 POP3 后端服务器时的相对线性可伸缩性。
下图显示了测试过程中使用的上下文切换。此图演示了上下文切换是如何随着负载的增加而线性增长的。
内存
POP3 客户端并不在更长的一段时间内保持登录到服务器。典型的行为是登录、检索全部电子邮件、删除全部电子邮件、再注销服务器。四处理器 POP3 后端服务器需要至少 500 MB RAM;否则,可能会发生高滞后,并且队列会显著增加。Inetinfo 和 Store.exe 进程在测试过程中总共消耗 350 MB 的内存。Exchange 使用最多 3 GB 的内存。若要通过减少对磁盘的分页来提高性能,请将内存增加到 3 GB。
磁盘使用
建议为日志驱动器留出至少两个心轴,为数据库文件留出至少两个心轴。为预料中的每个额外磁盘 I/O 操作添加一个心轴将是一个不错的主意。
在一台对 POP3 请求提供服务的生产用四处理器 Exchange 2003 后端服务器上,建议除操作系统的要求外,至少再准备 10 个硬盘以保证性能正常:
- 两个镜像磁盘,用于日志文件
- 两个镜像磁盘,用于 SMTP 队列
- 至少六个条带化磁盘,采用 RAID0+1 配置,用于 Exchange 数据库文件
每个心轴每秒可处理大约 100 个随机磁盘 I/O 操作。如果磁盘饱和,请向数据库添加更多的心轴。
网络使用
对几乎全部的 POP3 后端应用程序而言,一个 100 Mbps 的全双工网络连接已足够。
POP3 可伸缩性标准
在设计 POP3 服务器时,请考虑下列建议:
- POP3 前端服务器在双处理器服务器上可很好地进行扩展。
- POP3 后端服务器在四处理器服务器上可很好地进行扩展。
- 采用一台前端服务器与四台后端服务器的比率。
- 对前端服务器而言,256 MB 的 RAM 已足够。
- POP3 前端服务器实际上不占用磁盘资源,除非服务器进行分页或开启了 POP3 协议日志记录。
- POP3 前端服务器要求两个 100 Mbps 的网络适配器,如果运行在 800 MHz 双处理器的高端服务器上,则要求千兆比特的以太网连接。
- 可使用网络负载平衡来平衡 POP3 前端服务器的负载。
- 如果连接全部使用 SSL,请使 POP3 前端服务器的处理器能力加倍。