Baseline Performance for POP3

 

This section provides baseline performance data on Post Office Protocol version 3 (POP3) servers. POP3 is an Internet protocol that allows a POP3 client to download e-mail from a server. This protocol works well for computers that cannot maintain a continuous connection to a server.

POP3 Front-End Server

This scenario measures how well a dedicated POP3 front-end server scales under different amounts of client requests. The front-end server uses Pentium 4 Xeon processors with Hyper-Threading.

Hardware

The following table shows the specifications of the five servers used in this scenario.

POP3 front-end server hardware configuration

Server type Processor type RAM Storage

Front-end server

Intel P4 Xeon 2 processors, 2.6 GHz (Hyper-Threading)

1 GB

  • Not applicable

Four back-end servers

Intel P4 Xeon 8 processors, 550 MHz

4 GB

  • 12 spindles of RAID0+1 for database volumes

  • 2 spindles of RAID0+1 for the transaction logs for each storage group

Scenario

An average message size of 26 KB is sent. Each user's Inbox is populated with 31 messages before the test begins. Transport traffic occurs when the POP3 front-end server receives incoming e-mail from the Internet during the session targeted to one recipient. Activity on the POP3 front-end server includes users logging on to the server, retrieving all mail, and then deleting all mail from the server. The number of SMTP messages being delivered to mailboxes each second equals the number of messages retrieved and deleted through POP3 each second. The POP3 commands associated with message retrieval and deletion are RETR and DELE. The POP3 command issued by a POP3 client to determine the number of messages in a mailbox is STAT. Statistical counters for RETR, DELE, and STAT can be used to determine the number of POP3 transactions occurring on the front-end server each second. These counters can be accessed through System Monitor, which is included with the Microsoft Windows Server 2003 operating system.

In this scenario, the number of STAT commands received by the POP3 server is almost double the number of RETR and DELE commands. The Exchange Stress and Performance (ESP) tool was used to generate this server load. For more information about this tool, see Exchange Server 2003 Performance Tools.

The following table shows the variance in hardware usage when using a range of back-end servers with the particular profile. Note that context switching on the front-end server does not grow significantly as processor usage increases.

POP3 front-end performance

  Back-end server 1 Back-end server 2 Back-end server 3 Back-end server 4

Front-End Processor %

13.0

27.9

55.1

81.0

Context Switches/sec

11,423

20,495

24,872

23,217

POP3 DELE/sec

48

94

102

174

POP3 STAT/sec

124

215

356

380

Network Usage (in Kbps)

4,245

6,580

8,227

12,846

Inetinfo Working Set

127 MB

172 MB

172 MB

172 MB

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

Processor

POP3 scales well on a two-processor server, based on a low number of context switches while under heavy processor load. The following figure shows how context switching begins to level off on a two-processor front-end server as processor usage increases.

POP3 front-end server performance

27f2f319-cfd8-43a3-9248-dfc70300f825

Memory

POP3 front-end servers require almost no memory to operate efficiently. As the number of simultaneous POP3 sessions on the POP3 front-end server increases, memory usage does not increase significantly. Memory does not increase significantly because POP3 clients do not maintain long connections to the front-end server, which makes the use of memory relatively small. The MSExchangeIS (Store.exe) service can be disabled on POP3 front-end servers, which yields additional memory savings. If this service is disabled, a POP3 front-end server can run efficiently with 256 MB of RAM.

Disk Usage

When determining your hardware requirements for a dedicated POP3 front-end server, consider the disk space you require. A POP3 front-end server rarely uses its hard disk, because it acts as a proxy server, passing each protocol session to the appropriate back-end server. If protocol logging is enabled in Exchange System Manager for a POP3 virtual server, the hard disk is used on the front-end server to store the requested protocol log. Cache Manager in Windows Server 2003 also uses the disk to page information to and from the paging file. The cache manager uses the paging file to temporarily store information from RAM that has not been accessed recently when additional memory is required by active system processes. You can minimize paging activity by increasing the RAM on the server.

A POP3 front-end server with 256 MB or more of physical memory rarely pages. One disk spindle for a POP3 front-end server is sufficient for most applications. If you run large servers with protocol logging enabled, consider adding a second spindle.

Network Usage

On POP3 front-end servers, you must consider network traffic when you try to determine the type of hardware you require. Because a POP3 front-end server can service multiple back-end servers, the network traffic that occurs on a front-end server is frequently very high. The minimum network requirement for any high-end front-end server is a single 100-Mbps network adapter running in full duplex mode (meaning that data can be transmitted and received at the same time). Using a ratio of one front-end server to four back-end servers, a two-processor 2.6-GHz front-end server can transfer around 13 Mbps of data to a back-end server, requiring a gigabit network card or multiple 100 Mbps network cards. This example creates extremely heavy network traffic as the saturation point of a 100-Mbps full duplex network connection is considered to be around 7 to 8 Mbps.

On high-end, front-end servers with two or more 2.6-GHz or faster processors, it is recommended that you use two 100-Mbps full duplex network connections, or a single gigabit Ethernet connection. Servers of this class can easily exceed the capacity of a single 100-Mbps full duplex connection.

To balance the client load across multiple POP3 front-end servers, you can use Network Load Balancing. Network Load Balancing enables multiple front-end servers to appear as one server, with incoming connections intelligently spread among the pool of available front-end servers.

POP3 Back-End Mailbox Server

This scenario measures how well a POP3 back-end server scales under different amounts of client requests that pass through a dedicated front-end server. The back-end server uses the Pentium 4 Xeon processor with Hyper-Threading.

Hardware

The following table shows the specifications of the five servers used in this scenario.

POP3 back-end hardware configuration

Server type Processor type RAM Storage

Front-end server

Intel P4 Xeon 2 processors, 2.6 GHz (Hyper-Threading)

1 GB

  • Not applicable

Four back-end servers

Intel P4 Xeon 8 processors, 550 MHz

4 GB

  • 12 spindles of RAID0+1 for database volumes

  • 2 spindles of RAID0+1 for the transaction logs for each storage group

Scenario

An average message size of 26 KB is sent. Each user's Inbox is populated with 31 messages before the test begins. Transport traffic occurs when the POP3 front-end server receives incoming e-mail from the Internet during the session targeted to one recipient. Activity on the POP3 front-end server includes users logging on to the server, retrieving all mail, and then deleting all mail from the server. The number of SMTP messages being delivered to mailboxes each second equals the number of messages retrieved and deleted through POP3 each second. The POP3 commands associated with message retrieval and deletion are RETR and DELE. The POP3 command issued by a POP3 client to determine the number of messages in a mailbox is STAT. Statistical counters for RETR, DELE, and STAT can be used to determine the number of POP3 transactions occurring on the front-end server each second. These counters can be accessed through System Monitor, which is included with the Microsoft Windows Server 2003 operating system.

In this scenario, the number of STAT commands received by the POP3 server is close to double the number of RETR and DELE commands. The Exchange Stress and Performance (ESP) tool was used to generate this server load. For more information about this tool, see Exchange Server 2003 Performance Tools.

The following table shows how an Exchange 2003 back-end server servicing POP3 and inbound SMTP requests performs under different user loads.

POP3 back-end performance

  1000 POP3 users 1500 POP3 users 1750 POP3 users 2000 POP3 users

% Processor Time

28.8%

51.7%

67.3%

84.7%

Context Switches/sec

16,201

21,436

23,286

24,537

SMTP Messages Del/sec

23.5

34.9

40.3

44.6

SMTP Local Queue

3.2

7.4

12.9

24.2

POP3 STAT/sec

173

257

296

332

POP3 DELE/sec

23.3

34.8

40.2

44.2

Disk Transfers/sec

631

891

989

1,053

Network Usage (in Kbps)

1,926

2,760

3,136

3,459

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

Processor

POP3 scales well on four processor servers. When the processor is at 84.7 percent, the server is stable and only 24,537 context switches occur. The following figure shows the relatively linear scalability of running a POP3 back-end server on a four-processor server.

POP3 4-processor CPU usage

37f5a44c-8971-4d33-b655-ab6075772bb5

The following figure shows the context switches used during the tests. This figure demonstrates how the context switches grow linearly as more load is applied.

POP3 4-processor context switches

3d27409a-6244-4c4f-b15e-900d8f926b1e

Memory

POP3 clients do not remain logged on to the server for extended periods of time. The typical behavior is to log on, retrieve all e-mail, delete all e-mail, and then log off the server. The four-processor POP3 back-end servers require at least 500 MB of RAM; otherwise, you can experience high latencies and your queues can increase greatly. The Inetinfo and Store.exe processes consume a combined total of 350 MB of memory during the tests. Exchange uses a maximum of 3 GB of memory. To increase performance by reducing paging to disk, increase memory to 3 GB.

Disk Usage

It is recommended that you have at least two spindles for the log drive and at least two spindles for the database files. It is a good idea to add a spindle for each additional 100 disk I/O operations expected.

On a production four-processor Exchange 2003 back-end server servicing POP3 requests, it is recommended that you have a minimum of 10 hard disks in addition to the operating system requirements for correct performance:

  • Two mirrored disks for the log files

  • Two mirrored disks for the SMTP queue

  • At least six disks striped in a RAID0+1 configuration for the Exchange database files

Each spindle can handle approximately 100 random disk I/O operations per second. As the disks become saturated, add more spindles to the database.

Network Usage

A single 100-Mbps, full duplex, network connection is sufficient for almost all POP3 back-end applications.

POP3 Scalability Guideline

When you design a POP3 server, consider the following recommendations:

  • A POP3 front-end server scales well on two-processor servers.

  • A POP3 back-end server scales well on four-processor servers.

  • Use a ratio of one front-end server to four back-end servers.

  • 256 MB of RAM is sufficient for front-end servers.

  • A POP3 front-end server uses virtually no disk resources, unless the server is paging or POP3 protocol logging is turned on.

  • A POP3 front-end server requires a second 100-Mbps network adapter, or a gigabit Ethernet connection, if run on a high-end, 800-MHz, two-processor server.

  • A POP3 front-end server can be load balanced using Network Load Balancing.

  • Double the processor capacity of a POP3 front-end server if all the connections are performed over SSL.