Sun Java System Messaging Server 6 2005Q4 管理指南

分发程序

分发程序是一个多线程的分发代理,能够使多个多线程服务器进程共同负责提供 SMTP 连接服务。使用分发程序时,可以同时运行若干个多线程 SMTP 服务器进程,并且所有处理均与同一个端口连接。此外,每个服务器可能会有一个或多个活动连接。

分发程序充当在其配置中列出的 TCP 端口的中心接收程序。对于每个已定义的服务,分发程序可能会创建一个或多个 SMTP 服务器进程,在建立了连接之后处理这些连接。

通常,当分发程序接收到已定义的 TCP 端口的连接时,将为该端口上的服务检查可用的工作进程池并为新的连接选择最佳候选池。如果没有合适的候选池,则在配置允许的情况下,分发程序可能会创建一个新的工作进程以处理此连接和以后的连接。分发程序也可能会为预期的将来外来连接创建新的工作进程。有若干配置选项可用于调整各种服务中分发程序的控制,特别是控制工作进程的数量以及每个工作进程所处理的连接的数量。

有关更多信息,请参见分发程序配置文件

服务器进程的创建和终止

分发程序内的自动内务处理功能控制着新服务器进程的创建和旧的或闲置的服务器进程的终止。控制分发程序性能的基本选项为 MIN_PROCSMAX_PROCSMIN_PROCS 通过使若干服务器进程准备就绪并等待传入连接,提供了一种保证级别的服务。另一方面,MAX_PROCS 设置了对于给定服务可以同时运行的服务器进程数量的上限。

当前运行的服务器进程可能不能接收任何连接,因为它处理的连接已经达到其所能处理的最大数量,或者此进程已被安排终止。分发程序可能会创建其他进程以帮助将来的连接。

MIN_CONNSMAX_CONNS 选项提供了一种有助于在服务器进程之间分发连接的机制。MIN_CONNS 指定了将服务器进程标记为“足够忙”时连接的数量;而 MAX_CONNS 指定了服务器进程达到“最忙”时连接的数量。

通常,当前服务器进程数量少于 MIN_PROCS 或所有现有服务器进程均为“足够忙”(每个进程具有的当前活动连接数量至少为 MIN_CONNS)时,分发程序将创建一个新的服务器进程。

如果服务器进程意外中止(例如,通过 UNIX 系统的 kill 命令),则分发程序仍将在新连接传入时创建新的服务器进程。

有关配置分发程序的信息,请参见分发程序配置文件

启动和停止分发程序

要启动分发程序,请执行以下命令:

start-msg dispatcher

此命令涵盖以前用于启动 MTA 组件(已经配置了分发程序以进行管理)的任何其他 start-msg 命令的功能,将不再使用这些旧有的命令。特别是,不应再使用 imsimta start smtp 命令。尝试执行任何已废弃的命令将导致 MTA 发出警告。

要关闭分发程序,请执行以下命令:

stop-msg dispatcher

关闭分发程序时,服务器进程发生的情况取决于基本的 TCP/IP 软件包。如果修改了用于分发程序的 MTA 配置或选项,则必须重新启动分发程序以便使新配置或选项生效。

要重新启动分发程序,请执行以下命令:

imsimta restart dispatcher

重新启动分发程序与关闭当前运行的分发程序再立即启动新的分发程序具有同样的效果。