您可以为 Messaging Server 的 POP、IMAP 和 HTTP 服务设置一些基本性能参数。您可以根据硬件能力和用户基础调整这些参数,以达到最大服务效率。本节提供了背景信息;有关完成这些设置所需的步骤,请参见配置 POP 服务、配置 IMAP 服务 或 配置 HTTP 服务。
Messaging Server 可以将工作分为若干个执行进程,在某些情况下这可以提高效率。此功能对于多个处理器的服务器计算机尤其有用,这时调整服务器进程的数量可以将多个任务更有效率地分发给各个硬件处理器。
但是,将任务分配给多个进程以及从一个进程切换到另一个进程时,也会有性能开销。每添加一个新进程,具有多个进程的优势都将减少。对于大多数配置,简单的经验规则是使服务器计算机的每个硬件处理器中有一个进程,最多不超过 4 个进程。最佳配置可能会因情况而异;此经验法则只作为您自己进行分析时的出发点。
注释:在某些平台中,可能需要增加进程数量,以解决该平台特有的对每个进程的特定限制(例如文件描述符的最大数量),这可能会影响性能。
对于 POP、IMAP 或 HTTP 服务,默认的进程数量为每项服务 1 个。
POP、IMAP 或 HTTP 服务可以维持的同时进行的客户机连接越多,对客户机就越有利。如果客户机由于无可用连接而被拒绝服务,则必需等到其他客户机断开连接。
另一方面,每个打开的连接都要消耗内存资源,并需要使用服务器计算机的 I/O 子系统,因此对于服务器所能支持的同时进行的会话数量是有实际限制的。(您可以通过增加服务器内存或 I/O 容量来放宽此限制。)
IMAP、HTTP 和 POP 在这方面有不同的需求:
与 POP 和 HTTP 连接相比,IMAP 连接的时间通常比较长。用户连接到 IMAP 下载邮件时,连接通常会持续到用户退出或连接超时为止。相反,对 POP 或 HTTP 请求进行服务后,POP 或 HTTP 连接通常就关闭了。
IMAP 和 HTTP 连接通常比 POP 连接效率更高。每次进行 POP 重新连接时,都要求重新验证用户。相反,IMAP 连接仅要求一次验证,因为在 IMAP 会话期间(从登录到注销)连接将保持打开状态。HTTP 连接较短暂,但是用户无需在每次连接时重新验证,因为每次 HTTP 会话(从登录到注销)允许多个连接。因此,POP 连接比 IMAP 或 HTTP 连接需要更多的性能开销。Messaging Server 尤其如此,通过打开但闲置 IMAP 连接以及通过多个 HTTP 连接,Messaging Server 被设计为要求非常低的开销。
有关 HTTP 会话安全性的更多信息,请参见关于 HTTP 安全性。
因此,在特定时间,对于特定的用户需求,Messaging Server 可以支持的打开的 IMAP 或 HTTP 连接比 POP 连接多很多。
对于 IMAP,默认值是每个进程 4000 个连接;对于 HTTP,默认值是每个进程 6000 个连接;对于 POP,默认值是 600。这些默认值大致代表典型配置的服务器计算机所能处理的等量需求。最佳配置可能会因情况而异;这些默认值仅作为一般准则。
通常情况下,与活动的 IMAP 连接比较,活动的 POP 连接对服务器资源和带宽的需求更大,这是因为 IMAP 连接多数时间都处于空闲状态,而 POP 连接在不断地下载邮件。拥有较少数量的 POP 会话是正确的。相反,POP 连接的持续时间仅仅是其下载电子邮件所用的时间,因此活动的 POP 用户仅连接了很短的时间,而 IMAP 连接在连续邮件检查期间将保持连接状态。
除了支持多个进程,Messaging Server 还通过将工作细分给多个线程来进一步提高性能。服务器使用线程极大地提高了执行效率,因为执行中的命令不会妨碍其他命令的执行。可以根据执行过程中的需要创建和删除线程,多达所设置的最大数量。
具有更多的同时执行的线程意味着可以在没有延迟的情况下处理更多的客户机请求,以便为更多的客户机提供快速服务。但是,在线程间分发任务也有性能开销,因此对于服务器可以使用的线程数量有实际限制。
对于 POP、IMAP 和 HTTP,默认的最大值为每个进程 250 个线程。尽管 IMAP 和 HTTP 的默认连接数量大于 POP 的默认连接数量,但默认线程数量相等。我们假定,使用与较少但更忙碌的 POP 连接相同的最大线程数量能够高效处理较多的 IMAP 和 HTTP 连接。最佳配置可能因情况而异,但是这些默认值已经足够大,您不大可能需要增加这些值;默认值应该可以为大多数安装提供合理的性能。
为了收回无响应客户机的连接所使用的系统资源,IMAP4、POP3 和 HTTP 协议允许服务器单方面切断已空闲特定时间的连接。
各个协议规范要求服务器在某个最小时间内将空闲连接保持打开状态。对于 POP,默认时间是 10 分钟,对于 IMAP,默认时间是 30 分钟,对于 HTTP,默认时间是 3 分钟。您可以在默认值基础上增加空闲时间,但不能缩短默认时间。
如果切断 POP 或 IMAP 连接,用户必须重新验证才能建立新连接。相反,如果切断 HTTP 连接,用户无需重新验证,因为 HTTP 会话将保持打开状态。有关 HTTP 会话安全性的更多信息,请参见关于 HTTP 安全性。
空闲的 POP 连接通常是由于出现某个问题(例如崩溃或挂起)致使客户机无法响应而造成的。空闲的 IMAP 连接则属于正常情况。为了避免 IMAP 用户被单方面断开连接,IMAP 客户机通常在小于 30 分钟的某个时间间隔内向 IMAP 服务器定期发送命令。
HTTP 会话可以持续多个连接。切断连接后并不注销 HTTP 客户机。但是,如果 HTTP 会话保持空闲的时间达到指定的时间段,服务器将自动断开 HTTP 会话并注销客户机(默认时间段是 2 小时)。切断会话后,客户端的会话 ID 将无效,客户端必须重新验证才能建立其他会话。有关 HTTP 安全性和会话 ID 的更多信息,请参见关于 HTTP 安全性。