Guest

Cisco Unity

Cisco Unity Impact on Microsoft Exchange 2003

  • Viewing Options

  • PDF (133.4 KB)
  • Feedback

Introduction

This document describes the performance characteristics of Cisco Unity ® 4.2 for Microsoft Exchange Server 2003 and its effect on Exchange server. Included are the results of various performance tests, a summary of the findings, and recommendations.
The performance tests conducted for this study focus on disk I/O, CPU, and memory usage for the Exchange 2003 server. For this study, load was placed on the server using LoadSim (Microsoft Exchange Server 2003 Load Simulator), a Microsoft load-generation tool, and the Cisco Unity server using Bomber XP, a Cisco ® call load-generation tool.
This document is provided to help individuals and organizations successfully design, deploy, and maintain Cisco Unity for Microsoft Exchange Server.

Executive Summary

A series of tests were conducted to determine the effect of Cisco Unity Unified Messaging on Microsoft Exchange Server 2003. The Cisco Unity system was found to have minimal effect on the Exchange server. The results indicate that Cisco Unity Software can integrate with a healthy Exchange infrastructure without changes or upgrades. 1
Summarized results follow:

• Cisco Unity Software will not create a CPU bottleneck condition in Exchange for most organizations: Cisco Unity subscriber search folders increase average CPU usage by 17 percent over the current average. If the current average for Exchange is 60 percent, after deploying Cisco Unity Unified Messaging the average is about 70 percent. Because Microsoft recommends an average CPU usage of below 75 percent, deploying the Cisco Unity system will not create a CPU bottleneck condition for organizations using an average of 60 percent or less.2

• Storage for Exchange does not need to be upgraded to deploy Cisco Unity Software: Maximum I/O operations per second (IOPS) is determined by the physical hardware and its configuration. The maximum IOPS recorded during testing was 970.9. In a test conducted when Exchange was idle and the Cisco Unity system was under maximum load, an IOPS of 34.4 was recorded - just 0.04 percent of the maximum, demonstrating that Cisco Unity Software generates little IOPS load on storage containing Exchange mailbox stores.

• Memory does not need to be upgraded in Exchange to deploy the Cisco Unity system: Cisco Unity Unified Messaging has minimal effect on memory usage of the Exchange server. In the most demanding test case, the Cisco Unity system increased memory usage by less then 4 megabytes.

Exchange Integration Overview

Cisco Unity Software uses a Messaging Application Programming Interface (MAPI) for all messaging communication with Microsoft Exchange Server 2003. The following characterizes the MAPI communication between the Cisco Unity system and the Microsoft Exchange server.

• Exchange mailbox access: Cisco Unity for Microsoft Exchange Server uses Exchange to store voice, e-mail, and fax messages. Each Cisco Unity subscriber has a mailbox in Exchange. Cisco Unity Software creates a single MAPI logon session to each Exchange server a Cisco Unity subscriber mailboxes resides on.

• MAPI notifications for the Cisco Unity system: Cisco Unity Unified Messaging uses MAPI notifications to support features including message waiting indicators (MWIs) and pager notifications. To register for notifications, the Cisco Unity system must log in to each subscriber's Exchange mailbox and specify the type of events to be notified of. Cisco Unity Software creates a single MAPI logon session with the Partner Exchange server for notifications. When the Cisco Unity system registers to receive notifications for a subscriber, Exchange sends the Cisco Unity system a notification message to alert the system of an event. An example of an event is a new voice message.

• Exchange search folders for Cisco Unity Unified Messaging: Cisco Unity Software uses Exchange MAPI search folders to provide quick access to Exchange mailboxes. A search folder is a server-side static view (query) of a mailbox. As messages are routed in and out of an Exchange mailbox, Exchange updates the search folder to reflect the activity. Having a precalculated mailbox view removes the requirement for client-side filtering and allows for quick Exchange mailbox access from the Cisco Unity system.

Test Environment

The test environment consisted of a single domain with a single domain controller and global catalog (DC/GC) server. Installed in the domain was a single Exchange 2003 server, a Cisco Unity 4.2(1) failover pair, and a server running LoadSim for MAPI Messaging Benchmark 3 3 (MMB3) messaging load and Microsoft Performance Monitor (PerfMon) to collect results. A Bomber XP server and a Cisco CallManager system were used to generate call load against the Cisco Unity system.

Table 1. Server Characteristics for each server used in testing

Machine Name

Configuration

Description

DC01

Role

Active Directory DC/GC Server

Software

Windows Server 2003 Enterprise Edition + SP1

Hardware

Cisco MCS 7845-ECS2 Media Convergence Server (MCS-7845-ECS2) (HP DL380)

• Dual Xeon 3.4-GHz CPU
• 4-GB double data rate 2 (DDR2) RAM
• Gigabit Ethernet
• Integrated Ultra320 Smart Array with 64-MB read cache and 128-MB
write cache
• Two 72-GB 15,000 rpm (Redundant Array of Independent Disks [RAID] 1 mirror)
- System drive
• Two 72-GB 15,000 rpm (RAID 1 mirror)

EX01

Role

Microsoft Exchange 2003 Server

Software

• Windows Server 2003 Enterprise Edition + SP1 + /3GB switch
• Exchange 2003 Server + SP2

Hardware

Cisco MCS 7845-ECS1 Media Convergence Server (MCS-7845-ECS1) (HP DL380)

• Dual Xeon 3.4-GHz CPU
• 4-GB DDR2 RAM
• Gigabit Ethernet
• Integrated Ultra320 Smart Array with 64-MB read cache and 128-MB
write cache
• Two 72-GB 15,000 rpm (RAID 1 mirror)
- System drive
• Two 72-GB 15,000 rpm (RAID 1 mirror)
- Exchange transaction Logs
• Two 146-GB 15,000 rpm (RAID 0 stripe 1)
- Exchange MBD database

UNITY01

Role

Primary Cisco Unity system

Software

• Windows Server 2003 Enterprise Edition + SP1
• Cisco Unity 4.2(1)

Hardware

Cisco MCS 7845-ECS2 (MCS-7845-ECS2) (HP DL380)

• Dual Xeon 3.4-GHz CPU
• 4-GB DDR2 RAM
• Gigabit Ethernet
• Integrated Ultra320 Smart Array with 64-MB read cache and 128-MB write cache
• Two 72-GB 15,000 rpm (RAID 1 mirror)
- System drive
• Two 72-GB 15,000 rpm (RAID 1 mirror)
- UnityMTA
- Cisco Unity log files

UNITY02

Role

Failover Cisco Unity system

Software

• Windows Server 2003 Enterprise Edition + SP1
• Cisco Unity 4.2(1)

Hardware

Cisco MCS 7845-ECS2 (MCS-7845-ECS2) (HP DL380)

• Dual Xeon 3.4-GHz CPU
• 4-GB DDR2 RAM
• Gigabit Ethernet
• Integrated Ultra320 Smart Array with 64-MB read cache and 128-MB write cache
• Two 72-GB 15,000 rpm (RAID 1 mirror)
- System drive
• Two 72-GB 15,000 rpm (RAID 1 mirror)
- UnityMTA
- Cisco Unity log files

LOADSIM01

Role

• Exchange 2003 Server Load Simulator (LoadSim)
• Performance Monitor data collection (PerfMon)

Software

• Windows Server 2003 Enterprise Edition + SP1
• LoadSim 06.05.7775

Hardware

Cisco MCS 7845-ECS2 (MCS-7845-ECS2) (HP DL380)

• Dual Xeon 3.4-GHz CPU
• 4-GB DDR2 RAM
• Gigabit Ethernet
• Integrated Ultra320 Smart Array with 64-MB read cache and 128-MB write cache
• Two 72-GB 15,000 rpm (RAID 1 mirror)
- System drive
• Two 72-GB 15,000 rpm (RAID 1 mirror)

BOMBER01

Role

Call-load tool

Software

Bomber XP

Hardware

-

CM01

Role

Cisco CallManager

Software

Cisco CallManager 4.3(1)

Hardware

-

1A RAID 0 stripe was selected to allow enough disk capacity for the MMB3 test.


The test environment contained 2000 Exchange mailboxes, each of which was associated with a subscriber of Cisco Unity Unified Messaging. When applicable, LoadSim with the MMB3 load was applied to all 2000 mailboxes to generate Exchange messaging traffic. A test environment of 2000 Exchange mailboxes and Cisco Unity subscribers was selected because it allowed the MMB3 load to run for more than 4 hours.
Bomber XP was used to generate call load against the Cisco Unity. Table 2 provides details about the Bomber XP scripts used in the testing:

Table 2. Bomber XP Scripts

Test Name

Number of Mailboxes

Description

LEAVE_MESSAGE_OUTSIDE_CALLER 

2000 mailboxes

When an outside caller leaves a message for a subscriber, the message is placed in the UnityMTA folder and then sent to the target subscriber through the Unity_<SERVER NAME> mailbox.

LEAVE_MESSAGE_SUBSCRIBER_BY_EXT

2000 mailboxes

When messages are left between subscribers on the same Cisco Unity system, as is the case with this script, the Cisco Unity system logs in to the sending subscriber's Exchange mailbox and places the outgoing message in the outbox folder.

RETRIEVE_DELETE_ONE_MESSAGE 

2000 mailboxes

In this script a call is placed to the Cisco Unity system and Bomber XP logs in to a subscriber's mailbox. Voice messages are checked and then one message is deleted.

RETRIEVE_DELETE_ALL_MESSAGES

2000 mailboxes

In this script a call is placed to the Cisco Unity system and Bomber XP logs in to a subscriber's mailbox. Voice messages are checked and then all messages are deleted.

RETRIEVE_ONE_TTS_MESSAGE

500 mailboxes

In this script a call is placed to the Cisco Unity system and Bomber XP logs in to a subscriber's mailbox. An e-mail message is read through text-to-speech (TTS). This script was executed on only a subset of subscribers because TTS calls are longer in duration.

Performance Test Descriptions

Testing focused on three areas: disk I/O, CPU, and memory usage. Tests 1 through 4 were designed to measure the effect of Exchange search folders and Exchange notifications on Exchange. Tests 5 through 8 introduced varying levels of call traffic on the Cisco Unity system. Test 9 focused on Exchange mailbox store disk I/O for the Cisco Unity system alone.

Table 3. Performance Test Descriptions

Test Number

Test Type

Description

Load

1

Baseline

• Primary Cisco Unity system off
• Secondary Cisco Unity system off
• Cisco Unity search folders not created

This test established a baseline for the Microsoft Exchange server before the Cisco Unity search folders were created.

MMB3

2

No call traffic

• Primary Cisco Unity system off
• Secondary Cisco Unity system off
• Cisco Unity search folders created

This test measured the effect of the Cisco Unity system on the Microsoft Exchange server after the Cisco Unity search folders were created.

MMB3

3

No call traffic

• Primary Cisco Unity system on
• Secondary Cisco Unity system off
• Cisco Unity search folders created

This test measured the effect of the Cisco Unity system on the Microsoft Exchange server after the Cisco Unity search folders were created with the primary Cisco Unity server powered on.

MMB3

4

No call traffic

• Primary Cisco Unity system on
• Secondary Cisco Unity system on
• Cisco Unity search folders created

This test measured the effect of the Cisco Unity system on the Microsoft Exchange server after the Cisco Unity search folders were created with the primary and secondary Cisco Unity servers powered on.

MMB3

5

Call traffic

• Primary Cisco Unity system on
• Secondary Cisco Unity system off

This test measured the effect of the Cisco Unity system on the Microsoft Exchange server with 32 ports of call traffic load.

MMB3 + 32 ports

6

Call traffic

• Primary Cisco Unity system on
• Secondary Cisco Unity system off

This test measured the effect of the Cisco Unity system on the Microsoft Exchange server with 48 ports of call traffic load.

MMB3 + 48 ports

7

Call traffic

• Primary Cisco Unity system on
• Secondary Cisco Unity system off

This test measured the effect of the Cisco Unity system on the Microsoft Exchange server with 72 ports of call traffic load.

MMB3 + 72 ports

8

Call traffic

• Primary Cisco Unity system on
• Secondary Cisco Unity system off

This test measured the effect of the Cisco Unity system on the Microsoft Exchange server with 96 ports of call traffic load.

MMB3 + 96 ports

9

Call traffic only

• Primary Cisco Unity system on
• Secondary Cisco Unity system off
• No MMB3 load

This test measured the effect of the Cisco Unity system on the Microsoft Exchange server with 96 ports of call traffic load and no MMB3 load.

96 ports


To reset the Exchange mailbox store to a clean state (no e-mail) between tests, the Exchange mailbox store was dismounted, deleted, and then remounted. When Exchange mounts a missing mailbox store, (optionally) an empty Exchange mailbox store can be created.

Performance Test Results

Table 4 contains the test results in italics and the method used to calculate the results. 4

Table 4. Test Results

Test Number

IOPS1

Megacycles per Mailbox2

Committed Megabytes

1

935.1/2000 = 0.47

(.292 x 3400 x 2)/2000 = 0.993

1279.80

2

968.7/2000 = 0.48

(.368 x 3400 x 2)/2000 = 1.251

1280.68

3

955.3/2000 = 0.48

(.361 x 3400 x 2)/2000 = 1.227

1284.00

4

970.7/2000 = 0.49

(.332 x 3400 x 2)/2000 = 1.129

1304.82

5

964.6/2000 = 0.48

(.329 x 3400 x 2)/2000 = 1.119

1329.33

6

926.9/2000 = 0.46

(.316 x 3400 x 2)/2000 = 1.074

1308.24

7

912.1/2000 = 0.46

(.333 x 3400 x 2)/2000 = 1.132

1326.21

8

940.9/2000 = 0.47

(.348 x 3400 x 2)/2000 = 1.183

1332.07

9

34.4/2000 = 0.02

(.026 x 3400 x 2)/2000 = 0.088

893.70

1To measure IOPS per mailbox:
  • 1Select a production server with a typical user load.
  • 1Use the System Monitor tool to monitor Physical Disk\Disk?]] Transfers/sec counter over the peak 2 hours of server activity.
  • 1Calculate your current IOPS per mailbox as described in the following formula:
  • 1IOPS per mailbox = Average disk transfer per sec ÷ Number of mailboxes
2To calculate megacycles per mailbox:
  • 2Use the System Monitor tool to monitor the Processor\% Processor Time counter over the peak 2 hours of server activity.
  • 2Calculate the average CPU usage (percent) from the data you obtain in step 2.
  • 2Calculate your current megacycles per mailbox as described in the following formula:
  • 2Megacycles per mailbox = (Average CPU usage × Speed of processors in megacycles × Number of processors) ÷ (Number of mailboxes)

Figure 1. I/O operations per second per mailbox for each test conducted in this study.

Figure 2. Megacycles per mailbox for each test conducted in this study

Figure 3. Committed Megabytes for each test conducted in this study

Conclusions and Recommendations

The following conclusions and recommendations are drawn from the testing results:

• Average CPU usage increases by ~17 Percent: The only significant impact the Cisco Unity system has on Exchange is in CPU usage. The CPU increase is attributed to the Exchange search folders added by Cisco Unity Software. Exchange updates search folders as changes to a mailbox occur. The additional search folders require additional CPU processing time to update.

Some points to keep in mind:

• Some test results showed a lower effect on CPU processing time, whereas others showed results a bit higher. All tests were averaged together to arrive at 17 percent.

• The increase of 17 percent is to the average CPU processing time usage, not the total CPU processing time available.

• In testing, all Exchange mailboxes were Cisco Unity Software-enabled. If only half the Exchange mailboxes (1000) were Cisco Unity Software-enabled, the average CPU processing time usage increase should be half (8.5 percent). This increase should be considered during planning.

For most Exchange deployments, the additional CPU processing time will not be a challenge. Microsoft recommends average CPU processing time usage of 60 percent, allowing for peak periods of extreme load. Microsoft cautions that an average of greater than 75 percent does not provide sufficient headroom for usage spikes.
It is recommended for an organization to calculate its average CPU processing time usage frequently to aid in monitoring the health of an Exchange infrastructure. When planning for a Cisco Unity system, it is important to ensure the average CPU processing time usage will not grow beyond Microsoft's recommendations. 5
With regard to megacycles-per-mailbox calculation, comparing megacycles per mailbox between different hardware, or even the same hardware in a different configuration, is similar to comparing apples to oranges. The calculation depends on the number of physical CPU sockets and the cycles per second of each CPU. CPU architectures vary greatly today, and cycles per second has fallen out of favor as a measurement of CPU performance. For this types of evaluation Cisco recommends measuring average CPU processing time

• Cisco Unity Unified Messaging insignificantly affects Exchange mailbox store IOPS: Like megacycles per mailbox, IOPS can be a nonobjective test. An IOPS calculation obtained under load where IOPS is likely the bottleneck (as was the case in this testing) does not provide a meaningful reference point. In other words, the IOPS number for these tests would apply only to an environment with identically configured hardware.

For a point of reference, refer to the total Exchange mailbox store IOPS measured in test 9, which shows 34.4 IOPS. This test was conducted with a 96-port Bomber XP load slanted toward generating Exchange traffic from the Cisco Unity system. It is a worst-case scenario load.
The Exchange mailbox store IOPS increase recorded is low because even under maximum call load, only a relatively small number of users accessing their Exchange mailbox through the Cisco Unity system concurrently.

• Cisco Unity Unified Messaging increases Exchange server memory usage by less than 4 percent: Memory usage (committed bytes) appeared to increase slightly with Exchange search folders, MAPI logons, and call load. However, it is important to note that Exchange will continue to allocate memory as needed if it is available. In this testing, plenty of unused physical memory was available in the Exchange server at the end of each test. Over an extended period of time, an Exchange server typically reaches a point where memory usage levels off. It is possible that the Cisco Unity system accelerated the process slightly. That said, the effect is minimal and clearly not enough to require a memory upgrade under any imaginable scenario.

1When an organization consolidates fax, voice, and e-mail messages to a single location, it may choose to allow users to a larger disk quote. This decision is an operational one, and not a requirement to deploy the Cisco Unity system.
4Each test lasted about 5 hours. The first 2 hours of each test was a normalization period and next two hours (hours 3 and 4) were used as sample data.