邮件传输代理调整

 

上一次修改主题: 2005-05-10

在同时包含 Exchange Server 5.5 和 Exchange Server 2003 的 Exchange 组织中,会使用邮件传输代理 (MTA)。MTA 可用于一个站点内的所有通信。如果部署了使用远程过程调用 (RPC) 的站点连接器或部署了 X.400 连接器,则也有可能在站点之间的通信中使用 MTA。MTA 还可以处理来自其他邮件系统或发送到其他邮件系统(例如 Lotus cc:Mail、Lotus Notes、Novell GroupWise 和 Microsoft Mail)的邮件。

建议在路由邮件的所有 Exchange Server 计算机中都启动 Exchange MTA Stacks 服务。这在混合模式环境(即邮件在 Exchange Server 5.5 与 Exchange Server 2003 和/或 Exchange 2000 Server 之间传递)中尤为重要。此外,X.400 连接器和邮箱移动操作都需要 MTA。

在 Exchange Server 2003 中,MTA 会比在 Exchange Server 5.5 中占用更多的系统资源(CPU、内存和磁盘),因为现在所有邮件都通过 Store.exe 进程。在规划硬件的大小时,应考虑这些增大的负载。在混合使用 Exchange Server 5.5 和 Exchange 2000 Server 和/或 Exchange Server 2003 的大型站点中,可能需要将服务器拆分成不同的路由组,其中一台 Exchange 2003 服务器专门用于处理 Exchange 2000 Server 和/或 Exchange Server 2003 与 Exchange Server 5.5 的 MTA 通信。站点中的其他 Exchange 2003 服务器可以使用这台专用的桥头服务器向 Exchange 5.5 服务器发送邮件,从而减少 MTA 的处理开销。

在较小的组织中,MTA 进程一般不需要手动调整。对于较大的公司,如果同一个站点中有多台服务器,在组织中又有多个站点,或者使用的是早期的邮件连接器,那么在混合模式下运行时,应考虑调整下列 MTA 注册表参数。在转换到纯模式后,应删除这些注册表设置。Exchange 组织在纯模式下进行如下所述的 MAT 调整过程,会降低 Exchange 的性能。

  • DB data buffers per object 此值是为每个数据库对象配置的数据库服务器缓冲区数。缓冲区越多,需要的内存越多,但是它们会减少数据库对象因缺少缓冲区空间而转出的机会。有关如何设置该注册表值的详细说明,请参阅如何设置 DB Data Buffers per Object 注册表值
  • Dispatcher threads 此值是负责处理邮件的 MTA 发送器线程的数目。由于发送器线程有三个类型(路由器、扇出、结果),此值应乘以三。有关如何设置该注册表值的详细说明,请参阅如何设置 Dispatcher Threads 注册表值
  • Kernel threads 此值是处理开放系统互连 (OSI) 堆栈的表示层和会话层的平台线程数。这些线程是 MTA 邮件处理的核心。有关如何设置该注册表值的详细说明,请参阅如何设置 Kernel Threads 注册表值
  • Max RPC Calls Outstanding 此值是最大 RPC 线程数。此设置将限制保证同时处理的最大 RPC 数。有关如何设置该注册表值的详细说明,请参阅如何设置 Max RPC Calls Outstanding 注册表值
  • MDB users 此值定义目录中要缓存的可分辨名称的数目。有关如何设置该注册表值的详细说明,请参阅如何设置 MDB Users 注册表值
  • RTS threads 此值是处理 OSI 堆栈的可靠传输服务元素 (RTSE) 层的平台线程数。有关如何设置该注册表值的详细说明,请参阅如何设置 RTS Threads 注册表值
  • TCP/IP control blocks 此值是支持的并发 RFC 1006 (TCP/IP) 连接的最大数目。此设置控制 X.400 连接可以使用的缓冲区数。有关如何设置该注册表值的详细说明,请参阅如何设置 TCP/IP Control Blocks 注册表值
  • Transfer threads 此值是 MTA 传输线程数。由于传输线程有两个子类型(传入、传出),此值应乘以二。有关如何设置该注册表值的详细说明,请参阅如何设置 Transfer Threads 注册表值

MSExchangeIS 注册表项设置

如果在 MTA 中收到来自 Exchange 5.5 服务器或以前网关的邮件,则这些邮件将传递给 Store.exe 进程,然后进入高级排队引擎。在同时有多封邮件到达 MTA 的环境中,最好增加 Store.exe 进程和 MTA 之间的处理线程数。使用系统监视器或 Exchange 系统管理器,可以监视 MTA 到 Store.exe 进程的队列建立情况。

在较小的组织中,MTA 进程一般不需要手动调整。对于较大的公司,如果同一个站点中有多台服务器,在组织中又有多个站点,或者使用的是早期的邮件连接器,那么在混合模式下运行时,应考虑调整下列 MTA 注册表参数。在转换到纯模式后,应删除这些注册表设置。Exchange 组织在纯模式下进行如下所述的 MAT 调整过程,会降低 Exchange 的性能。

  • Gateway In Threads 此值定义从 Store.exe 进程的 MTA 进程中检索邮件时可以使用的线程数。有关如何设置 Gateway In Threads 注册表值的详细说明,请参阅如何设置 Gateway In Threads 注册表值
  • Gateway Out Threads 此值定义将邮件从存储发送到 MTA 进程时可以使用的线程数。有关如何设置 Gateway Out Threads 注册表值的详细说明,请参阅如何设置 Gateway Out Threads 注册表值

应将这些值添加到服务器上配置的所有专用数据库中。做出此更改之后,必须增大 MTA 进程的 Max RPC Calls Outstanding 注册表值。有关如何设置 Max RPC Calls Outstanding 注册表值的详细说明,请参阅如何设置 Max RPC Calls Outstanding 注册表值。有关详细信息,请参阅 Microsoft 知识库文章 264075“Description of MTA tuning when Exchange 5.5 coexists with Exchange 2000 Server or with Exchange Server 2003”(https://go.microsoft.com/fwlink/?LinkId=3052&kbid=264075)(英文)。

MTA 文件目录

默认情况下,Exchange MTA 数据库和运行目录位于 Exchange Server 2003 安装路径(drive:\Program Files\Exchsrvr\mtadata)下。在某些服务器上(尤其是在 Exchange 充当桥头服务器的情况下),将 MTA 数据库重新定位在快速磁盘阵列(如 RAID0+1 分区)上,可以提高性能。不要尝试重新定位 MTA 运行目录,因为这样做可能会产生意想不到的副作用。

可以使用 Exchange 系统管理器将 MTA 数据库(也称为 X.400 邮件队列目录)重新定位到不同的位置。有关详细说明,请参阅如何移动 MTA 数据库目录