Baseline Performance for SMTP

 

The section provides baseline performance data on Simple Mail Transfer Protocol (SMTP) gateways. SMTP is a network protocol that is designed to move electronic mail messages across a network to a destination server. In large data centers, it is recommended that you dedicate specific Exchange 2003 servers to handle only inbound and outbound SMTP traffic. These servers are typically named SMTP gateways or SMTP hubs. They are responsible for moving SMTP mail between clients and Exchange 2003 mailbox servers. This section describes only SMTP characteristics; message transfer agent (MTA) and message conversion are not covered here.

Hardware

The following table shows the hardware specifications used in this scenario.

SMTP hardware

Server type Processor type RAM Purpose

SMTP gateway

Intel 4 processors, 1.4 GHz

4 GB

  • Two 1-Gbps network adapters

  • SMTP Queue directory was placed on a series of inexpensive disks with RAID0+1 disk array.

Scenario

The average message size transferred between clients and the SMTP gateway is 50 KB. Anonymous authentication is used with no SSL Transport Layer Security (TLS) encryption of the network traffic.

The following table provides an overview of performance on a four-processor 1.4-GHz SMTP gateway serving a range of back-end servers (which are the final destination for messages sent through the SMTP gateway).

SMTP gateway server performance

  Windows 2000 Server and Exchange 2000 Server Windows 2000 Server and Exchange Server 2003 Windows Server 2003 and Exchange Server 2003

% Processor Time

56.0%

66.1%

66.7%

Context Switches/sec

34,782

31,854

18,850

SMTP Messages Sent/Sec

142.3

141.2

142.1

Network Usage (in Mbps)

12.8

12.8

12.8

Disk Writes/sec

810

920

842

For more information about the performance counters used in this scenario, see Performance Counter Definitions.

Processor

The service scales well on a four-processor server. Although the CPU usage increases 17 percent after an upgrade to Exchange Server 2003, context switching drops 40 percent after an upgrade to Windows Server 2003.

Memory

SMTP gateway servers use memory primarily for maintaining connections and keeping track of vital information about messages in the queues. SMTP servers generally do not have thousands of connections; therefore, the memory required for this purpose is not significant. However, the memory used to store message properties on queued e-mail can be significant. SMTP stores messages in the queue in two states: opened (that it, it keeps a handle open) or closed (that is, it closes the handle). SMTP can keep 1,000 messages in the queue open at any particular time, closing old messages as new ones arrive. An open message in the queue consumes approximately 10 KB of memory in the Inetinfo process, and a closed message consumes approximately 4 KB of memory in the Inetinfo process.

The memory required by an SMTP gateway server is a function of how many messages the server can be expected to have queued at a particular time. The following examples demonstrate how to calculate the approximate memory that will be consumed by SMTP queues:

  • 1,000 open messages = 10 MB of Inetinfo memory

  • 1,000 open messages + 20,000 closed messages = 80 MB of Inetinfo memory

  • 1,000 open messages + 89,000 closed messages = 366 MB of Inetinfo memory

Note

By default, the maximum number of messages that an SMTP gateway queues before refusing new messages is 90,000.

SMTP gateways are frequently used for distribution list expansion. Distribution lists enable messages to be sent to a single address and then distributed to multiple recipients. Distribution list expansion refers to the process of getting the list of recipients in the distribution list. Distribution list expansion also affects the memory used on an SMTP gateway. Each recipient expanded by a distribution list uses 1 KB of Inetinfo memory. Servers that expand very large distribution lists, or frequently expand medium sized distribution lists, require more memory.

Low-traffic SMTP gateway servers can perform adequately with 256 MB of RAM. In high-traffic data centers, where large queues are common and large distribution lists are expanded, at least 512 MB of RAM is preferred. Generally, an SMTP gateway server does not benefit by having more than 1 GB of memory. If a large SMTP queue is generated on a server that does not have sufficient memory, excessive paging occurs. This paging dramatically increases the time it takes for the server to handle the queues.

The maximum number of messages that are kept open and the maximum number of messages allowed in the queue can be configured manually. For more information about this topic, see the following Microsoft Knowledge Base articles: 271084, "XGEN: Exchange 2000 Server SMTP Optimized with Maximum Handle Threshold Registry Key" and 258748, "XGEN: Setting a Limit on the Number of SMTP Messages in Queues."

Disk Usage

An SMTP gateway is disk intensive. Every message that is received by an SMTP gateway is saved to a disk. With a default message size of 50 KB, about 7 to 8 disk writes occur for each message processed by the SMTP gateway. This behavior is expected. Generally, SMTP performs 7 disk writes for every message queued that is smaller than 32 KB. An SMTP gateway's write buffer is 32 KB. Therefore, messages that are larger than 32 KB require an additional disk write for every 32 KB. For example, a 100-KB message requires 10 disk writes to save the message in the queue.

For these reasons, an SMTP gateway server requires a high performance disk-subsystem. It is recommended that you use RAID0+1 array with multiple disk spindles for the SMTP queue drive. A RAID0+1 array is configured with half of the spindles in the array striped together to create one large volume, and this volume is mirrored to the other half of the available spindles for data redundancy. The number of disk spindles and the size of the write cache can be based on the expected SMTP message throughput of the server.

Network Usage

An SMTP gateway can process lots of SMTP data. As the load increases, the server's network resources are put under pressure. The minimum network capacity should be a single 100-Mbps with full duplex network connection. Full duplex connections can receive and transmit data at the same time. Depending on the expected server load, a second 100-Mbps connection may be required, or moving to a gigabit Ethernet-based network. Sending around 140 messages per second, when the average message size is 50 KB, generates almost 13 Mbps of network traffic. Servers expected to handle a load greater than 7 Mbps should have either two 100-Mbps, full duplex network connections, or a single gigabit Ethernet network connection.

You can also use Network Load Balancing to balance SMTP traffic across multiple SMTP gateway servers.

SMTP Scalability Guidelines

When you design an SMTP server, consider the following recommendations:

  • An SMTP gateway scales well on four-processor servers.

  • An SMTP gateway requires a minimum of 256 MB of RAM to manage large queues and expand distribution lists. A minimum of 512 MB of RAM is recommended.

  • SMTP gateways require lots of disk resources; at least seven disk writes are required for each message queued. The drive containing the queue on high-end servers should be configured as RAID0+1 with multiple disk spindles that use a write-caching array controller.

  • Two-processor gateways require a single 100-Mbps connection. High-end, four-processor servers should be fitted with two 100-Mbps connections or a single gigabit Ethernet connection.

  • SMTP traffic can be load balanced using Network Load Balancing, and encrypting SMTP traffic using TLS does not have a significant effect on the processor or memory requirements.