Guest

Cisco Unity Connection

Cisco Unity Connection Single Inbox with Microsoft Exchange 2010 Product Solution Overview

  • Viewing Options

  • PDF (377.3 KB)
  • Feedback

Introduction

This document describes the performance and Exchange Web Services (EWS) throttling characteristics of the Microsoft Exchange 2010 servers when the Cisco Unity® Connection Single Inbox feature is synchronizing voice messages between Cisco Unity Connection and Microsoft Exchange 2010 on the Exchange 2010 network.

Included are the results of performance and EWS throttling tests, a summary of the findings, and recommendations.

The performance tests conducted for this study focus on the client access, hub transport, and mailbox server roles of Exchange 2010.

This document is provided to help individuals and organizations successfully design, deploy, and maintain Cisco Unity Connection Single Inbox with Microsoft Exchange 2010.

Terms

Average Processor Use

Average CPU Usage is the average of the data reported by the Processor(_Total)\% Processor Time counter in the Windows Performance Monitor tool.

Maximum Processor Usage

Maximum CPU Usage is the maximum value in the data reported by the Processor(_Total)\% Processor Time counter in the Windows Performance Monitor tool.

IOPS per Mailbox

I/O operations per second (IOPS) per mailbox is calculated according to the information at: http://technet.microsoft.com/en-us/library/bb124845%28EXCHG.65%29.aspx.

Average disk transfer/sec is the average of the data reported by the Physical Disk\Disk Transfers/sec counter in the Windows Performance Monitor tool for the hard drive that contained the Exchange message database (does not include transaction log I/O).

If the test uses N Exchange mailboxes per Exchange Mailbox Server:

IOPS/mailbox = (Average disk transfer/sec) ÷ (Number of mailboxes)
IOPS/mailbox = (41.57) ÷ (N)

Megacycles per Mailbox

Megacycles per mailbox is calculated according to the information at: http://technet.microsoft.com/en-us/library/aa998989%28EXCHG.65%29.aspx.

The SPEC CPU2006 score for the Intel Xeon E5345 2.33-GHz Processor is 55.2. With 8 cores, the new platform per core value is 6.9. The baseline Hertz per core is 3330, and the baseline per core value is 18.75.

Adjusted megacycles per core = (New platform per core value) × (Hertz per core of baseline platform) ÷ (Baseline per core value)
Adjusted megacycles per core = 6.9 × 3330 ÷ 18.75
Adjusted megacycles per core = 1225.4

The number of processors of the Exchange server is 8.

If the test used N Exchange mailboxes per Exchange Mailbox Server:

Megacycles/mailbox = (Average CPU usage) × (Speed of processors in megacycles) × (Number of processors) ÷ (Number of mailboxes)
Megacycles/mailbox = (4.821) × (1225.4) × (8) ÷ (N)

EWS Throttling Parameters

This feature was introduced to prevent a single user or groups of users from using up all the Exchange resources and causing a denial-of-service attack. The throttling policy constitutes group settings that can be used to control how many resources a user or connection can use against the Exchange organization. Various EWS throttling parameters that are of interest for the Single Inbox feature in Cisco Unity® Connection follow:

EWSMaxConcurrency: This parameter specifies the number of concurrent connections an Exchange Web Services user can have against an Exchange server at one time. A connection is held from the moment a request is received until a response is sent in its entirety to the requestor. If users attempt to make more concurrent requests than their policy allows, the new connection attempt fails. However, the existing connections remain valid. The EWSMaxConcurrency parameter has a valid range from 0 through 100 inclusive.

EWSMaxSubscriptions: This parameter specifies the maximum number of active push and pull subscriptions that a user can have on a specific client access server at the same time. If a user tries to create more subscriptions than the configured maximum, the subscription fails, and an event is logged in Event Viewer.

EWSPercentTimeInCAS: This parameter specifies the percentage of a minute that an Exchange Web Services user can spend executing the client access server code (PercentTimeInCAS). A value of 100 indicates that for every 1-minute window, the user can spend 60 seconds of that time consuming the resource in question.

EWSPercentTimeInMailboxRPC: This parameter specifies the percentage of a minute that an Exchange Web Services user can spend executing mailbox remote procedure call (RPC) requests (PercentTimeInMailboxRPC). A value of 100 indicates that for every 1-minute window, the user can spend 60 seconds of that time consuming the resource in question.

Note: To indicate that the particular EWS parameter should be unthrottled (no limit), set that EWS parameter to $null.

Table 1 defines the default parameters for the EWS counters and details what they were set to for the load.

Table 1. EWS Counters Settings

EWS Counters

Default Exchange Throttling Parameter Values

Exchange Throttling Parameter Values for Current Load

PercentTimeInCAS

90

$null

PercentTimeInMailboxRPC

60

$null

EWSMaxSubscriptions

5000

$null

Executive Summary

A series of tests were conducted to determine the effect of Cisco Unity Connection Unified Messaging on a Microsoft Exchange Server 2010 Environment. Cisco Unity Connection interfaces to the Exchange 2010 mailboxes through the Exchange Client Access Servers (CASs).

The Cisco Unity Connection system was found to have minimal effect on the physical servers setup to act as the Exchange Client Access server role, Exchange sever Hub transport server role, and the Exchange Mailbox server role.

The results indicate that Cisco Unity Connection Software can integrate with a healthy Exchange 2010 infrastructure without changes or upgrades.

Summarized results follow:

Average CPU usage on a server running the Exchange Client Access server role for 2000 users is 6.88 percent.

Average CPU usage on the server running the Exchange Hub Transport server role and the Exchange Mailbox server role, for 2000 users is 2.5 percent.

IOPS per mailbox on the server running the Exchange Hub Transport server role and the Exchange Mailbox server role is 0.01.

Megacycles per mailbox = 11.16.

The memory of the servers was not significantly affected.

Exchange Integration Overview

Single Inbox and the other unified messaging features require that you create an Active Directory account (called the unified messaging services account throughout the Cisco Unity Connection documentation) and grant the account the rights necessary for Cisco Unity Connection to perform operations on behalf of users. No user credentials are stored in the Cisco Unity Connection database; this feature is a change from Cisco Unity Connection 8.0, for which text-to-speech (TTS) access to Exchange email and access to Exchange calendars and contacts required that you enter each user’s Active Directory alias and password.

Using the unified messaging services account to access Exchange mailboxes simplifies administration. However, you must secure the account to prevent unauthorized access to Exchange mailboxes.

Cisco Unity Connection uses the EWS to communicate with the Exchange servers. More information about EWS is available at: http://msdn.microsoft.com/en-us/library/dd877045%28v=exchg.140%29.aspx.

To enable the EWS, at least one of the servers in the Exchange network must have the client access role enabled. More information about the various server roles in an Exchange 2010 network is available at: http://technet.microsoft.com/en-us/library/dd298026.aspx.

Cisco Unity Connection supports using Single Inbox with Exchange 2010 Database Availability Groups (DAGs) for high availability if the DAGs are deployed according to Microsoft recommendations. Cisco Unity Connection also supports connecting to a CAS array for high availability.

Test 1 - Cisco Unity Connection 8.5(1)

Test Environment

The test environment consisted of a Cisco Unity Connection 8.5 server pair set up in an active-active high-availability configuration talking to an Exchange 2010 environment. The Exchange environment was installed with two domain controllers, two Exchange CAS servers, and one Exchange server with hub and mailbox roles. A Bomber XP server and a Cisco Unified Communications Manager were used to generate call load against the Cisco Unity Connection system.

Cisco Unity Connection Servers in Active-Active Pair

Publisher: VMware image, 7 vCPU dual quad-core Intel Xeon E5540 2.53-GHz, 8-GB processors, and 250 ports.

Subscriber: Cisco MCS-7548 Media Convergence Server (MCS-7845-I3-ECS1), dual quad-core Intel Xeon E5540 2.53-GHz, 8-GB processors, PC3-10600 double-data-rate 3 (DDR3) registered dual inline memory module (RDIMM), four 300-GB hard drives, and 250 ports.

Cisco Unity Connection 8.5 (0.204) Pre-FCS build

Single inbox (SIB) configured to use autodiscovery (connected CAS array)

MbxSynchThreadCountPerUMServer set to 8

Domain Controllers

Two Active Directory DC/GC servers

Windows Server 2008 R2 Enterprise

MCS-7825-H3-ECS1 (Intel Dual-Core Xeon 3050 2.13-GHz processor, 4-GB PC2-5300 DDR2 error-correction-code (ECC) memory, and two 160-GB Serial Advanced Technology Attachment (SATA) hard disks configured with Random Array of Independent Disks (RAID) 1).

CAS Servers

Two CAS servers in Network Load Balanced (NLB) CAS array

Microsoft Exchange 2010 CAS Server

Windows Server 2008 Enterprise SP2

Exchange 2010 Update Rollup 4

MCS-7825-H3-ECS1 (Intel Dual-Core Xeon 3050 2.13-GHz processor, 4-GB PC2-5300 DDR2 ECC memory, and two 160-GB SATA hard disks configured with RAID 1).

Exchange Server

One Physical Server

Running the Microsoft Exchange 2010 Hub Transport server role and Mailbox server role.

Windows Server 2008 Enterprise SP2

Exchange 2010 Update Rollup 4

2000 mailboxes

MCS-7845-H2-ECS4 (dual quad-core Intel Xeon E5345 2.33-GHz processors, 8-GB PC3-10600 DDR3 RDIMM memory modules, and eight 146-GB hard drives (RAID 1, RAID 1, and RAID 10 configured)

Performance Test Description

Cisco Unity Connection had 2000 users configured for SIB.

The test was 2 hours of 72 ports of Bomber telephony-user-interface (TUI) activity with usual leaves (outside caller, sub-to-sub using extensions, and sub-to-sub using names) and retrieves (save or delete). Port activity was balanced to leave one message per user per hour (in 2-hour test, Bomber left approximately 4400 messages).

Performance Test Results

Domain Controllers

Average CPU usage = 1.07%

Maximum CPU usage = 4.84%

CAS Servers

Average CPU usage = 6.88%

Maximum CPU usage = 47.70%

Exchange Server

Average CPU usage = 2.28%

Maximum CPU usage = 15.30%

IOPS per mailbox = 0.01

Megacycles per mailbox = 11.16

Calculations

Average Processor Use

Average CPU Usage was the average of the data reported by the Processor(_Total)\% Processor Time counter in the Windows Performance Monitor tool.

Maximum Processor Use

Maximum CPU Usage was the maximum value in the data reported by the Processor(_Total)\% Processor Time counter in the Windows Performance Monitor tool.

IOPS per Mailbox

IOPS per mailbox was calculated according to the information at: http://technet.microsoft.com/en-us/library/bb124845%28EXCHG.65%29.aspx.

Average disk transfer/sec was the average of the data reported by the Physical Disk\Disk Transfers/sec counter in the Windows Performance Monitor tool for the hard drive that contained the Exchange message database (does not include transaction log I/O).

The test used 2000 Exchange mailboxes.

IOPS/mailbox = (Average disk transfer/sec) ÷ (Number of mailboxes)
IOPS/mailbox = (27.7894521416921) ÷ (2000)
IOPS/mailbox = 0.013894726
IOPS/mailbox = 0.01

Megacycles per Mailbox

Megacycles per mailbox was calculated according to the information at: http://technet.microsoft.com/en-us/library/aa998989%28EXCHG.65%29.aspx.

Average CPU Usage was the average of the data reported by the Processor(_Total)\% Processor Time counter in the Windows Performance Monitor tool.

Speed of processors in megacycles was calculated based on the information at: http://www.vmware.com/files/pdf/Exchange_2010_on_VMware_-_Best_Practices_Guide.pdf and http://technet.microsoft.com/en-us/library/ee712771.aspx.

The SPEC CPU2006 score for the Intel Xeon E5345 2.33-GHz Processor was 55.2. With eight cores, the new platform per core value is 6.9. The baseline Hertz per core is 3330, and the baseline per core value is 18.75.

Adjusted megacycles per core = (New platform per core value) × (Hertz per core of baseline platform) ÷ (Baseline per core value)
Adjusted megacycles per core = 6.9 × 3330 ÷ 18.75
Adjusted megacycles per core = 1225.4

The number of processors of the Exchange server is eight.

The test used 2000 Exchange mailboxes.

Megacycles/mailbox = (Average CPU usage) × (Speed of processors in megacycles) × (Number of processors) ÷ (Number of mailboxes)
Megacycles/mailbox = (2.27718091565741) × (1225.4) × (8) ÷ (2000)
Megacycles/mailbox = 11.16182997618636
Megacycles/mailbox = 11.16

Test 2 - Cisco Unity Connection 8.6(1)

Test Environment

The test environment consisted of a Cisco Unity Connection 8.6.1 Server in a standalone configuration talking to an Exchange 2010 environment. The Exchange environment was installed with one domain controller, one Exchange CAS server, and one Exchange server with hub and mailbox roles. A Bomber XP server and a Cisco Unified Communications Manager were used to generate 8 to 10 voicemails/user/day call load against the Cisco Unity Connection system. A Grinder Windows 2003 server was used to generate 3 voicemails/user/day web-inbox load against the Cisco Unity Connection system. A LoadGen 2008 server and the Exchange network were used to perform 10,000 user Messaging Application Program Interface (MAPI), point-of-presence (POP), Simple Mail Transfer Protocol (SMTP), Outlook Web App (OWA), and Internet Message Access Protocol (IMAP) operations.

Cisco Unity Connection Servers in a Standalone Configuration

VMware image, 7 vCPU dual quad-core Intel Xeon E5540 2.53-GHz, 8-GB processors, 250 ports, and two 300-GB hard drives

Cisco Unity Connection build version 8.6.1ES9

SIB configured to connect to the CAS server

MbxSynchThreadCountPerUMServer set to 4

Domain Controllers

One Active Directory DC/GC Server

Microsoft Windows Server 2008 R2 Enterprise

6.1.7601 Service Pack 1 Build 7601

MCS-7828-I4

Please refer to the following URL for hardware details of the machine: http://www.cisco.com/en/US/prod/collateral/voicesw/ps6790/ps5748/ps378/data_sheet_c78-542895.html.

CAS Servers

One CAS server

Microsoft Exchange 2010 SP1 CAS Server, Version: 14.01.0218.013

Microsoft Windows Server 2008 R2 Enterprise

6.1.7601 Service Pack 1 Build 7601

MCS-7828-I4

Please refer to the following URL for hardware details of the machine: http://www.cisco.com/en/US/prod/collateral/voicesw/ps6790/ps5748/ps378/data_sheet_c78-542895.html.

Exchange Server

Two Exchange server machines with hub and mailbox roles

Microsoft Exchange 2010 SP1 Hub and Mailbox Server, Version: 14.01.0218.013

Microsoft Windows Server 2008 R2 Enterprise

6.1.7601 Service Pack 1 Build 7601

5000 mailboxes per Exchange Server

MCS-7828-I4

Please refer to the following URL for hardware details of the machine: http://www.cisco.com/en/US/prod/collateral/voicesw/ps6790/ps5748/ps378/data_sheet_c78-542895.html.

Performance Test Description

Cisco Unity Connection had 10,000 users configured for SIB.

Tests were for around 12+ hours of 48 ports of four Bomber machines TUI activity with usual leaves (outside caller, sub-to-sub using extensions, and sub-to-sub using names) and retrieves (save or delete). Port activity was balanced to leave 8 to 10 messages per user per hour (in 24-hour test, Bomber left approximately 76,000 messages). Grinder was configured to perform basic web-inbox operations such as login, leave a message for a user, and log out. It was configured to leave one message/user/8 hours.

A LoadGen 2008 server and the Exchange network were used to perform 10,000-user MAPI, POP, SMTP, OWA, and IMAP simultaneous operations.

Performance Test Results

CAS Servers Exchange 10,000 Load

Average CPU usage = 30.57

Average values are observed for the major part of the load.

Maximum CPU usage = 74.428

Values in the range of 50-75 are observed for situations when there is an increase in the disk reads/sec operations of the LoadGen tool.

CAS Servers Cisco Unity Connection 10,000 + Exchange 10,000 Load

Average CPU usage = 39.67

Average values are observed for the major part of the load.

Maximum CPU usage = 80.45

Values in the range of 50-75 are observed for situations when there is an increase in the disk reads/sec operations of the LoadGen tool.

EWS Test Results for 10,000 Users

Average EWSPercentTimeInCAS 161

Average values are observed for the major part of the load.

Maximum EWSPercentTimeInCAS 930

Values in the range of 200-930 are observed when there is an increase in the number of EWS requests sent to the CAS server. One of the possible scenarios is when initial subscriptions requests get hit with create and find folder EWS requests. The other such scenario is a scheduled task.

Average EWSPercentTimeInMailboxRPC 81.29

Average values are observed for the major part of the load.

Maximum EWSPercentTimeInMailboxRPC 659

Values in the range of 200-930 are observed when there is an increase in the number of EWS requests sent to the CAS server. One of the possible scenarios is when initial subscriptions requests get hit with create and find folder EWS requests. The other such scenario is a scheduled task

Conclusions and Recommendations

We can conclude from the lab test load runs that Cisco Unity Connection Single Inbox can integrate with a healthy Exchange 2010 infrastructure without changes or upgrades. There is only a marginal increase in the average consumption of Exchange system resources such as CPU and memory when compared to the Exchange user load.

In certain cases, a high number of connection EWS requests tends to increase EWS throttling parameters values. As mentioned in the tests, EWS parameter values in the higher range are observed when there is an increase in the number of EWS requests sent to the Exchange server. Possible scenarios are initial subscription event and scheduled tasks such as SYSAGENT task.