IMAP4 的基准性能
上一次修改主题: 2005-05-10
此部分提供了 Internet 邮件访问协议版本 4rev1 (IMAP4) 服务器的基准性能数据。IMAP4 是一种 Internet 协议,它使 IMAP4 客户端能够从服务器上下载电子邮件。此协议可很好地工作在能够与服务器建立持久连接的计算机上。IMAP4 提供了比 POP3 更多的功能,包括文件夹层次结构、标志和搜索。
IMAP4 前端服务器
此方案可以评估 IMAP4 在一个启用超线程的、四处理器 Xeon MP 服务器上进行扩展的程度。服务器上运行了不同级别的负载。
硬件
下表显示了此方案中所用的五台服务器的规格。
IMAP4 前端硬件配置
服务器类型 | 处理器类型 | RAM | 存储 |
---|---|---|---|
前端服务器 |
Intel P4 Xeon 2 处理器,2.6 GHz(超线程) |
1 GB |
|
四台后端服务器 |
Intel P4 Xeon 8 处理器,550 MHz |
4 GB |
|
方案
所发送邮件平均大小为 26 KB。每个用户的收件箱在测试开始之前都有 31 封 IMAP4 邮件。当传入 SMTP 邮件以每秒 24 封邮件的速率进行本地传递时,传输通信就产生了。
下表提供了 IMAP4 通信的概述,IMAP4 通信可由一台双处理器 2.6 GHz 前端服务器和一系列后端服务器来处理。“IMAP4 UID/sec”速率计数器对 IMAP 服务器每秒收到的唯一 ID (UID) 命令的数量进行统计。此计数器是统计每秒发生的全部 IMAP4 事务数量的很好的衡量器。
IMAP4 前端服务器性能
IMAP4 前端服务器 | 后端服务器 1 | 后端服务器 2 |
---|---|---|
% Processor Time |
25.4% |
47.3% |
Context Switches/sec |
41,945 |
39,781 |
IMAP4 UID/sec |
436 |
2,084 |
IMAP4 Connections |
15,000 |
30,000 |
Network Usage(Kbps) |
4,628 |
5,108 |
Inetinfo Working Set |
221 MB |
387 MB |
有关此方案中使用的性能计数器的详细信息,请参阅性能计数器定义。
处理器
仅对 IMAP4 客户端提供服务的 Exchange 2003 前端服务器不会使用太多的 CPU。上表显示了 15,000 个并发 IMAP4 用户仅消耗了 25.4% 的可用 CPU 资源。
IMAP4 运行在双处理器前端服务器上时效率最高。与 POP3 类似,在四处理器前端服务器上,IMAP4 在中等负载情况下的上下文切换开始变得过多。因此,不建议您在有超过四个处理器的硬件上运行 IMAP4 前端服务器。
内存
与 POP3 类似,IMAP4 不要求太多的物理内存;对那些为少于五台的后端服务器提供服务的 IMAP4 前端服务器而言,256 MB RAM 已足够。如果前端服务器所提供服务的后端服务器超过五台,则必须在前端服务器上安装 512 MB RAM。
磁盘使用
有关专用的 IMAP4 前端服务器的磁盘使用的信息,请参阅 POP3 的基准性能的“POP3 前端服务器”中的“磁盘使用”。
网络使用
IMAP4 前端服务器在向多个后端服务器提供服务时会使用很多网络资源。一个高端的 IMAP4 前端服务器的最小网络需求是一个 100 Mbps 的全双工网络适配器。根据访问系统的用户类型以及所服务的后端服务器数量,可能有必要为每个网络适配器额外添加 100 Mbps,或换成千兆比特的网络。
网络负载平衡还可用于平衡跨多个 IMAP4 前端服务器的客户端负载。
IMAP4 后端邮箱服务器
此方案可以比较 IMAP4 在一个启用超线程的、四处理器 Xeon MP 服务器上进行扩展的程度。服务器上运行了不同级别的负载。
硬件
下表显示了此方案中使用的规格。
IMAP4 后端服务器硬件
服务器类型 | 处理器类型 | RAM | 存储 |
---|---|---|---|
后端 |
Intel P4 Xeon 4 处理器,1.4 GHz(超线程) |
4 GB |
|
方案
所发送邮件平均大小为 26 KB。每个用户的收件箱在测试开始之前都有 31 封 IMAP4 邮件。当传入 SMTP 邮件以每秒 24 封邮件的速率进行本地传递时,传输通信就产生了。
下表显示了 IMAP4 后端服务器是如何在不同的用户负载下运作的。
IMAP4 后端服务器性能
5,000 个 IMAP4 用户 | 15,000 个 IMAP4 用户 | 20,000 个 IMAP4 用户 | |
---|---|---|---|
% Processor Time |
35.3% |
57.2% |
71.7% |
Context Switches/sec |
22,929 |
50,565 |
46,978 |
SMTP Messages Del/sec |
23.7 |
23.9 |
23.5 |
SMTP Local Queue |
8.6 |
38.3 |
32.9 |
IMAP4 UID/sec |
542 |
961.2 |
1,055 |
DB Disk Transfers/sec |
870 |
1,304 |
1,921 |
Network Usage(Kbps) |
1,844,838 |
1,986,082 |
2,318,340 |
有关此方案中使用的性能计数器的详细信息,请参阅性能计数器定义。
处理器
IMAP4 在四处理器后端服务器上可很好地进行扩展。在确定 IMAP4 后端服务器的相应硬件时,请注意磁盘 I/O 操作会随着“收件箱”邮件用户平均数量的增加而增加。下图显示了随着用户负载的增加,处理器的使用在可接受范围内提高了。
内存
四处理器 IMAP4 后端服务器需要至少 500 MB RAM。Exchange 使用最多 3 GB 的内存。若要提高性能,请将内存增加到 3 GB 以减少对磁盘的分页。
磁盘使用
建议为日志驱动器留出至少 2 个 RAID1 心轴,为数据库文件留出至少 10 个 RAID0+1 心轴以支持 8,000 个左右的用户。可为预料中的其他每 100 个磁盘 I/O 操作添加一个心轴。向服务器上添加的用户越多,用户被缓存的可能性就越小,磁盘使用增长的可能性也就越大。因为磁盘子系统是 IMAP4 后端邮箱服务器的第一个瓶颈,请确保“Current Disk Queue Length”性能计数器保持在 10 或 n(n 等于阵列中的心轴的数量)以下。
网络使用
对几乎全部的 IMAP4 后端应用程序而言,一个 100 Mbps 的全双工网络连接已足够。
IMAP4 可伸缩性标准
在设计 IMAP4 服务器时,请考虑下列建议:
- IMAP4 前端服务器在双处理器前端服务器下可很好地进行扩展。
- 采用一台 IMAP4 前端服务器与八台后端服务器的比率。
- IMAP4 前端服务器要求至少有 256 MB RAM。但是,如果使用的前端服务器所服务的后端服务器超过五台,请使用 512 MB RAM。
- IMAP4 前端服务器实际上不占用磁盘资源,除非前端服务器进行分页或开启了 IMAP4 协议日志记录。
- 除了最耗费资源的前端服务器应用程序(例如在经常有较大邮件附件的环境中)之外,一个 100 Mbps 全双工的网络连接已足够。根据计划提供服务的用户类型以及正在提供服务的后端服务器的数量,可能有必要额外添加一个 100 Mbps 的全双工网络适配器,或换成千兆比特的网络。
- 可使用网络负载平衡来平衡 IMAP4 前端服务器的负载。
- SSL 连接会导致 CPU 活动提高 50%,且额外要求 10% 的物理内存。