You are on page 1of 51

Server Virtualization in Microsoft

Lync Server 2010


Last updated 2/18/2011

This document is provided “as-is”. Information and views expressed in this document,
including URL and other Internet Web site references, may change without notice. You bear
the risk of using it.
Some examples depicted herein are provided for illustration only and are fictitious. No real
association or connection is intended or should be inferred.

This document does not provide you with any legal rights to any intellectual property in any
Microsoft product. You may copy and use this document for your internal, reference
purposes.
Copyright© 2011 Microsoft. All rights reserved.
Microsoft, Windows, Windows Media, Windows PowerShell, Windows Server, Active
Directory, Forefront, Hyper-V, Lync, and SQL Server are trademarks of the Microsoft group of
companies. All other trademarks are property of their respective owners.
Table of Contents
Summary....................................................................................................................1
Glossary......................................................................................................................2
Introduction................................................................................................................5
1.1 What is Virtualization?......................................................................................5
1.2 Why Virtualize?.................................................................................................5
Virtualization in Lync Server 2010..............................................................................7
1.3 Terminology..................................................................................................... 7
1.4 Supported Functionality ..................................................................................8
1.5 Hypervisors......................................................................................................9
1.5.1 Validated Hypervisors.................................................................................9
1.5.2 Other Hypervisors.......................................................................................9
1.5.3 Unsupported Hypervisors............................................................................9
1.6 Guest Operating System Requirement.............................................................9
1.7 Virtualized Lync Server Deployment General Considerations...........................9
1.7.1 Mixing Physical and Virtual Servers Running Lync Server 2010..................9
1.7.2 Spreading Lync Server Workloads on Different VM Hosts.........................10
1.7.3 High Availability through Virtualization.....................................................10
1.7.4 Quick Migration and Live Migration Support..............................................10
1.7.5 Dynamic Memory Support.........................................................................11
Typical VM Host Configurations................................................................................11
1.8 VM Host Server Configuration........................................................................12
1.9 VM Guest Operating System and Application Storage Configuration.............12
1.10 Small VM Host Configuration .......................................................................13
1.11 Medium VM Host Configuration ...................................................................14
1.12 Large VM Host Configuration .......................................................................15
1.13 VM Host Networking Considerations.............................................................16
Virtualization Configuration Guidance......................................................................17
1.14 Applications Running in Host Root Partition.................................................17
1.15 Guest Virtualized Storage.............................................................................17
1.15.1 Disk Types...............................................................................................17
1.15.2 Mapping of Storage to VM Guests...........................................................18
1.15.3 VM Guest Storage Recommendations by Workload................................18
1.16 Other VM Guest Configuration Settings........................................................20
1.16.1 Guest Operating System.........................................................................20
1.16.2 Network adapter......................................................................................20
1.16.3 Ratio of Physical to Virtual CPUs.............................................................20
1.16.4 Support of VM Image Templates.............................................................20
1.16.5 Disable Virtual DVD/CD Drives in Guest Operating System.....................21
Scale Comparison of Virtualized and Physical Lync Server Roles.............................21
1.17 CPU...............................................................................................................21
1.18 Memory........................................................................................................21
1.19 Scale Comparison Table Physical-Virtual......................................................22
1.19.1 Maximum Conference Size Physical-Virtual.............................................23
1.19.2 Stand-alone A/V Conferencing Server Recommendation Physical-Virtual
........................................................................................................................... 23
Sample Lync Server Virtualized Topologies..............................................................23
1.20 Virtual Enterprise Edition Deployment A......................................................24
1.21 Virtual Enterprise Edition Deployment B......................................................24
1.22 Mix Virtual/Physical Enterprise Edition Deployment.....................................26
1.23 Virtual Standard Edition Deployment..........................................................27
Test Results..............................................................................................................28
Measuring Performance on Virtual Lync Server 2010...............................................29
1.24 Performance Indicators................................................................................29
1.24.1 Processor and Percentage of Processor Time..........................................29
1.24.2 Network Interface....................................................................................29
1.24.3 Memory...................................................................................................29
1.24.4 Databases...............................................................................................29
1.24.5 SIP...........................................................................................................30
Appendix A: How to Enable VMQ on Intel Network Adapter......................................31
Appendix B: How to Increase Send/Receive Buffers on Intel Network Adapter.........33
Appendix C: Changing the Bandwidth Limit for Application Sharing.........................34
Appendix D: Performance Counters..........................................................................35
1Lync Server 2010 Performance Counter Reference................................................35
1.25 All Servers....................................................................................................35
1.26 Front End Servers.........................................................................................36
1.27 Edge Server..................................................................................................39
1.28 Back End Server...........................................................................................42
1.29 Mediation Server..........................................................................................43
1.30 Audio/Video Conferencing Server.................................................................44
1.31 Establishing Performance Baselines.............................................................44
1.31.1 Resource Utilization Baseline Tests.........................................................44
1.31.2 User Load Baseline Tests........................................................................45
1.31.3 Multipoint Conferencing Unit (MCU) Resource Utilization Baseline Tests:
(Monitor on All MCUs).........................................................................................45
Summary
Virtualization is a powerful technology that enables IT departments to reduce
costs and improve operational efficiency. Virtualization is increasingly being
seen as a way to allocate resources smartly, and consolidate environments.
Building on the efforts taken in Microsoft® Office Communications Server 2007
R2, Microsoft® Lync™ Server 2010 communications software provides a wide
range of server virtualization capabilities to reduce total cost of ownership
(TCO). This document outlines a series of best practice recommendations for
running Lync Server 2010 in a virtualized environment.

1
Server Virtualization in Microsoft Lync Server 2010

Figures
Figure 1 Small VM host configuration diagram.......................................................13
Figure 2 Medium VM host configuration diagram...................................................14
Figure 3 Large VM host configuration diagram.......................................................15
Figure 4 Virtual Enterprise Edition deployment A...................................................24
Figure 5 Virtual Enterprise Edition deployment B...................................................25
Figure 6 Mixed virtual-physical Enterprise Edition deployment..............................27
Figure 7 Virtual Standard Edition deployment........................................................27
Figure 8 Advanced tab of Network Adaptor Properties, showing Virtual Machine
Queue setting...........................................................................................................32
Figure 9 Advanced tab of Network Adapter properties, showing Receive Buffers
property....................................................................................................................33

Tables
Table 1 Supported virtualized Lync Server roles and workloads ..............................8
Table 2 VM host configuration categories ..............................................................12
Table 3 VM host hardware base configuration........................................................12
Table 4 VM guest storage configuration ................................................................13
Table 5 VM guest virtual storage options ..............................................................18
Table 6 VM guest storage sizing recommendations...............................................18
Table 7 Virtual-physical scale comparison table.....................................................23

Glossary
The following are phrases and acronyms used throughout this document.
Phrase/Acronym Meaning
Standard Edition Lync Server 2010, Standard Edition is designed for small
server organizations, for pilot projects, or for branch sites within
larger organizations. It enables all of the features of Lync
Server 2010, in addition to the necessary databases, to
run on a single server. Lync Server 2010 Standard Edition
does not provide a true high availability solution.
Front End Server Lync Server 2010, Front End Server is the core server role
of an Enterprise Edition pool, and performs the basic Lync
Server 2010 functions. It is one of two server roles
required to be in any Lync Server 2010, Enterprise Edition
deployment.
Enterprise Edition Lync Server 2010 Enterprise Edition is a collection of
pool Front End Servers. Enterprise pools with two or more

2
Server Virtualization in Microsoft Lync Server 2010

Front End Servers provide high availability, and allow


scale out to a total of 10 Front End Servers within a pool.
Enterprise pools allow separation of A/V Conferencing
Server components.
Back End Server Lync Server 2010, Back End Server is a core server role,
and hosts the Microsoft® SQL Server™ databases used
by the Lync Server Front End Server. The Back End Server
is the second of two server roles required to be in any
Lync Server 2010 Enterprise Edition deployment. Back
End Servers can be deployed on a single server running
SQL Server, or on a SQL Server cluster.
Pool A pool is a set of identically configured servers running
Lync Server that work together to provide services for a
common group of users. A pool provides scalability and
resiliency for the hosted workloads and functions.
A/V Conferencing Lync Server 2010, A/V Conferencing Server provides
Server audio/video (A/V) conferencing functionality to a
deployment. It can be collocated with the Lync Server
2010 Front End Server, or deployed separately as a single
server or Lync Server 2010 A/V Conferencing Server pool.
For best performance, A/V Conferencing Server should be
deployed separately to the Front End Server. Standard
Edition server cannot utilize a stand-alone A/V
Conferencing Server. AV Conferencing Servers are
deployed as a single server or a pool of servers. No more
than one A/V Conferencing pool is supported per site.
Edge Server Lync Server 2010, Edge Server enables users to
communicate and collaborate with users outside an
organization’s firewalls.
Edge Servers are deployed as a single server or a pool of
servers.
Monitoring Server Lync Server 2010, Monitoring Server collects data about
the quality of network media in both Enterprise Voice calls
and A/V conferences, as well as call detail records (CDRs).
Monitoring Server is typically collocated with the Microsoft
Lync Server 2010, Archiving Server. A SQL Server Back
End Server is required to implement a Monitoring Server.
Monitoring Server can be deployed only as a single
server.
Archiving Server Lync Server 2010, Archiving Server enables the archiving
of instant messaging (IM) communications and meeting
content for compliance reasons.
A SQL Server Back End Server is required to implement
Archiving. Archiving Server can be deployed only as a
single server.
Director The Microsoft Lync Server 2010, Director can authenticate
Lync Server requests and redirects users to the their
respective home pool. The Director role is most useful in

3
Server Virtualization in Microsoft Lync Server 2010

deployments that enable external user access where the


Director can authenticate requests before sending them
on to an internal server. Directors can also improve
performance in organizations with multiple Front End
pools. Directors are deployed as a single server or a pool
of servers.
Application Sharing The Application Sharing service, hosted on a Front End
service Server.
Mediation Server The Microsoft Lync Server 2010, Mediation Server is a
necessary component for implementing Enterprise Voice
and dial-in conferencing. Mediation Server translates
signaling and, in some configurations, media between
your internal Lync Server infrastructure and an public
switched telephone network (PSTN) gateway or a SIP
trunk. Mediation Server can be collocated with the Front
End Server, or can be installed as a stand-alone server for
better performance. A stand-alone Mediation Server is
recommended if Media Bypass is not available. Stand-
alone Mediation Servers are deployed as a single server
or a pool of servers.
Multi-modal A conference using all modalities of Lync Server,
Conference including: application sharing, Voice over Internet
Protocol (VoIP), video, instant messaging, dial-in
conferencing, and web conferencing.
VM A virtual machine is an instance of a guest operating
system (running Windows Server® 2008 R2) running on a
server running a hypervisor, such as Microsoft® Hyper-
V™ or VMware ESX.
Site Lync Server 2010 sites are defined as a location-based or
logical grouping of collection of Lync Server 2010
components. A site is a set of computers that are well
connected by a high-speed, low-latency network, such as
a single local area network (LAN) or two networks
connected by a high-speed fiber optic network. Note that
Lync Server sites are a separate concept from Active
Directory® Domain Services (AD DS) sites and
Microsoft® Exchange Server sites. Your Lync Server sites
do not have to correspond to your Active Directory sites.
Hypervisor A native hypervisor runs directly on the host hardware on
the lowest level (Ring -1, below kernel mode), and
provides abstraction to allow multiple operating systems
to run concurrently on a host computer, a feature called
hardware virtualization. The hypervisor provides the
guest operating systems with a virtual operating platform
and monitors the execution of the guest operating
systems.

4
Server Virtualization in Microsoft Lync Server 2010

Introduction
1.1 What is Virtualization?
Virtualization, in its simplest form, provides a layer of abstraction between the
hardware and operating system, and allows multiple operating system instances to
share the same hardware. Server virtualization allows multiple operating systems
(or “virtual machines”) and applicable workloads to share the resources of a single
server. The main benefits of virtualization are improved resource utilization, and the
ability to relocate virtual machines to different hosts, typically reducing the number
of physical servers needed.

1.2 Why Virtualize?


In today’s competitive environment, organizations are increasingly dealing with
concerns around reducing infrastructure costs while accurately forecasting
operational expenditure, creating more value by providing faster but lower-cost
services, and increasing operational efficiency at the same time. A well-managed IT
environment that is efficient, reliable, and easily managed is essential to
successfully meeting the above goals of the organization. Lync Server, with its
server virtualization capabilities, helps companies achieve this goal by providing the
following benefits:
• Reduced Total Cost of Ownership

o Leverage existing resources with server consolidation

o Increase space utilization with reduced number of physical servers

o Reduce power consumption and cooling requirements

o Decrease hardware maintenance and training costs

o Provide an abstraction of operating system and workloads from actual


physical hardware

o Reduced Time to deploy

o Minimize service disruption and increase service levels

o Provide capacity on demand in response to changing business needs

o Speed up server deployment by duplicating a standard virtual server

• Increased operational efficiency

5
Server Virtualization in Microsoft Lync Server 2010

o Improve business continuity with high availability of hardware and


applications

o Increase operational flexibility with dynamic resource management and


server provisioning

o Improve server to admin ratio

6
Server Virtualization in Microsoft Lync Server 2010

Virtualization in Lync Server 2010


Microsoft has made significant investments in providing extensive virtualization
support for Lync Server across a fully distributed topology. Lync Server can be
virtualized by using Windows Server 2008 R2 Hyper-V, or other virtualization
solutions that have been tested by Microsoft. For more details, see “Windows Server
Virtualization Validation Program” at http://go.microsoft.com/fwlink/?linkid=200511.
Due to limitations such as packet loss, delay, jitter, and clock skew, Office
Communications Server 2007 R2 could only virtualize a few workloads such as
Presence and IM. Lync Server 2010 now also supports server-side virtualization of
real time media, thus enabling conferencing and voice workloads to be virtualized.
Lync Server enables the following workloads to be virtualized:
• Instant Messaging (IM)
• IM conferencing
• Presence
• Enterprise Voice (PSTN)
• Audio Conferencing
• Video Conferencing
• Web Conferencing
• Application Sharing
• Remote Access, Federation (Edge Server)
• Response Group service

Virtualized Lync Server deployment can be considered for all sizes of deployment:
From small single-site deployments, to large multi-site enterprise implementations.
This document provides details on:
• Best practice guidelines for deploying a virtualized Lync Server topology
• Typical VM host configurations
• VM guest configuration best practices based on the workload
• Scale comparison of virtualized and physical Lync Server roles
• Measuring Performance
Note: This document does not cover client virtualization scenarios such as
application virtualization or remote desktop scenarios for the Lync client.

1.3 Terminology
Throughout this document, the following statements will be used:
• Recommended: A recommended configuration or setting that has been
explicitly validated, or follows the industry best practice standards.

7
Server Virtualization in Microsoft Lync Server 2010

• Not recommended: A configuration or setting that is not recommended in a


production deployment, based on the industry best practice standards, or
that has been specifically identified as a potential problem in a virtualized
Lync deployment.
• Not supported: A configuration, feature, or setting that must not be
implemented in a virtualized Lync Server deployment. Running unsupported
deployment may negatively impact functionality or performance of a Lync
Server deployment.

1.4 Supported Functionality


Table 1 lists the server roles and corresponding features that are tested and
supported in a virtualized site.
Role Support Supported Features
ed
Enterprise Front Yes Registration, Presence, IM,
End Enterprise Voice, audio/video
Standard Edition Yes Registration, Presence, IM,
Server Enterprise Voice, audio/video,
SQL Store
SQL Server Back Yes SQL Store
End Server
File Store Yes File server
Edge Server Yes Remote Access
A/V Conferencing Yes Audio/video
Server
Mediation Server Yes Enterprise Voice
Director Yes Authentication, Redirection
Monitoring Server Yes Monitoring service, QoE, and call
detail records
Archiving Server Yes Archiving service
Survivable Branch No Registration, Enterprise Voice
Office Appliance
(OEM appliance)
Survivable Branch Yes Registration, Enterprise Voice
Office Server
(non-OEM server)
Table 1 Supported virtualized Lync Server roles and workloads

Like a physical Lync Server, virtual Lync Server deployments will integrate with
Microsoft Exchange Server 2010 to provide a Unified Messaging solution.
Deployment of Lync Server in a virtual environment is described in this white paper.
For details about deploying Exchange 2010 Unified Messaging, see “Understanding
Unified Messaging Deployments” at http://go.microsoft.com/fwlink/?
LinkId=210839.

8
Server Virtualization in Microsoft Lync Server 2010

1.5 Hypervisors
1.5.1 Validated Hypervisors
• Windows Server 2008 R2 Hyper-V (For details about hotfix, see Microsoft
Knowledge Base article 981836, “Network connection is lost on a Windows
Server 2003-based Hyper-V VM” at http://go.microsoft.com/fwlink/?
LinkId=201212)

• Microsoft® Hyper-V™ Server 2008 R2 Hyper-V (For details about hotfix,


see Microsoft Knowledge Base article 981836, “Network connection is lost
on a Windows Server 2003-based Hyper-V VM” at
http://go.microsoft.com/fwlink/?LinkId=201212)

• VMware ESX 4.0

1.5.2 Other Hypervisors


Other Hypervisor implementations that have been validated through the Windows
Server Virtualization Validation Program.
Note: Lync Server is a real-time application workload which requires high-
performance I/O (Network and Storage) which some hypervisor implementations
may not be able to deliver. We recommend validating a deployment by using
synthetic load tools.

1.5.3 Unsupported Hypervisors


Although Hyper-V was available as a role in Windows Server 2008, that release is
not supported. A number of enhancements that are critical for running virtualized
Lync Server media workloads were implemented with Windows Server 2008 R2 to
address network packet loss.

1.6 Guest Operating System Requirement


Windows Server 2008 R2 is required guest operating system. Critical network
performance improvements are only available in the Windows Server 2008 R2
operating system.
Windows Server 2008 SP2 is not supported as a guest operating system.

1.7 Virtualized Lync Server Deployment General


Considerations
1.7.1 Mixing Physical and Virtual Servers Running Lync Server 2010
Generally physical and virtual servers can be combined in a deployment, with the
following limitations:

9
Server Virtualization in Microsoft Lync Server 2010

Mixed virtual and physical servers within the same pool are not supported.
A pool1 of Lync Server roles must be deployed as a homogenous set of servers
(either physical or virtual) which roughly provide the same amount of resources. For
virtualized deployments, ensure that the virtual machines are hosted in a way that
equal resources are available to each guest in the pool. Lync Server does not
perform load-based load balancing with the exception of the A/V conferencing
workload. Note that a virtual Front End Server and a physical SQL Server Back End
Servers are explicitly supported.
Balanced end-to end-performance is required. When sizing a virtualized Lync
Server deployment, use the guidance provided in this document to size each role
adequately, and perform tests using the synthetic load tools available to validate
that no bottlenecks exist.

1.7.2 Spreading Lync Server Workloads on Different VM Hosts


If you are implemented a highly available, virtualized, Lync Server deployment
consider spreading similar workloads to different VM hosts. For example, do not run
all of the Front End Servers on the same VM host because you could potentially lose
the complete pool if there is a failure on an individual VM host. Consider recovery of
virtual machines on a different host as tool to limit the outage, but not as a tool to
implement High Availability (also see next bullet).

1.7.3 High Availability through Virtualization


Virtualizing a Lync Server deployment is not a replacement for implementing
High Availability: Implement a pool of Lync server components (such as an
Front End pool or Edge pool with two or more servers), as well as a clustered
SQL Server Back End Server in order to achieve the best possible High
Availability even in a virtualized setup. Migration to the next available virtual
machine host is a tool to mitigate the duration of downtime, however does
not provide the best High Availability solution for Lync Server.

1.7.4 Quick Migration and Live Migration Support


Quick Migration and Live Migration with Lync Server 2010 workloads have not been
validated by the product group at this point. Future updates of this white paper will
provide more guidance.
Considerations for migrating Lync Server workloads:
• Front End Servers: Using draining prior to migration to minimize any client
impact. Clients will disconnect from active sessions, such as active
conferences, during migration.
• Migrating Front End Server or A/V Conferencing Server while a conference is
progress: The delay will cause all clients to disconnect and the conference is
recreated on another Front End Server, or A/V Conferencing Server.
• SQL Server Back End Server workload: While migration of the SQL Server
back end VM, the Front End Servers will switch to resiliency mode until the
migration is completed, and should reconnect.

1
A pool is defined as a Lync Server pool with more than two servers including the follow
Server roles: Enterprise Edition Front End Server, Director, Mediation Server, A/V
Conferencing Server, and Edge Server.

10
Server Virtualization in Microsoft Lync Server 2010

• Depending on the time a migration takes, and what workloads are


concurrently migrated, clients may connect to the backup registrar pool.

Live Migration of Lync Server workloads have not been validated, and is
not supported (Applicable to Hyper-V Live Migration, and VMware
Vmotion). Specifically, it has not been validated what the client experience would
be if a live migration is performed on a Lync Server workload running an active
conference.

1.7.5 Dynamic Memory Support


Windows Server 2008 R2 Hyper-V SP1 (Service Pack 1) will provide support for
Dynamic Memory (for details, see “Implementing and Configuring Dynamic
Memory” at http://go.microsoft.com/fwlink/?LinkId=211071). Dynamic memory has
not been validated with Lync Server 2010 workloads, and specific guidance cannot
be provided.

Typical VM Host Configurations


Glossary:
• Direct Attach Storage (DAS): Disk storage local to host, not shared.
• Storage Area Network (SAN): Storage devices accessible through a
dedicated network.
• Internet Small Computer System Interface (iSCSI): IP-based storage
networking standard, typically using Ethernet.
• Fiber channel (FC) : Network technology primarily for storage networking.
• MPIO = Multi-path IO: Redundant network path to a shared storage device.
• Virtual Machine Queue (VMQ): Hardware virtualization technology for the
efficient transfer of network traffic to a virtual machine.
• Gigabit Ethernet (GbE): Type (Ethernet) and speed (units of Gigabit per
second) of a network infrastructure.
• Serial Advanced Technology Attachment (SATA): Computer bus interface
for mass storage attachment.
• Serial Attached SCSI (SAS): Computer bus interface for mass storage
attachment.
• Solid state drive (SSD): A data storage device using solid-state memory.
• Logical unit number or LUN: A number used to identify a logical unit in a
SAN or other storage devices. Mostly used to refer to a logical disk in a
SAN.

Hardware vendors typically provide guidance on what type of servers, storage,


and networking components are recommended for production-quality VM host
configurations. The following section provides a generic overview of what

11
Server Virtualization in Microsoft Lync Server 2010

configurations are suitable for deploying a virtual Lync Server deployment, and
what type of configurations should be avoided.

With the context of this document VM host configurations are defined in the
following scale, and are outlined in more detail below
Size VM Host Configuration
Small Single VM host with direct attached storage (DAS)

Mediu 4-12 VM hosts with shared storage (iSCSI SAN) multi path I/O (MPIO)
m
Large 12-48 VM hosts with fiber connected shared storage (FC SAN multi path
I/O)
Table 2 VM host configuration categories

1.8 VM Host Server Configuration


The follow table represents a recommended hardware base configuration for a VM
host as of Q4/2010.
Component Spec
Server Enterprise-grade server, with a minimum of 2 CPU sockets (or
more)
CPU Intel Xeon 5500 series or AMD Opteron 6100 series (2 GHz+)
CPUs supporting NPT/EPT (Nested Page Tables/Extended Page
Tables)
Network Dual (or more) 1 GbE or 10 GbE adapter (with VMQ support is
adapter recommended for 10 GbE network adapternetwork adapter).
Note: Network adapter chipsets from Intel, Broadcom, and
other vendors support VMQ.
Storage Two or more SATA or SAS HDD 10k rpm or higher (DAS), or
equivalent storage, RAID 1 (VM host operating system usage),
or equivalent SSD
Memory 32GB+ PC2-6400 DDR2, or PC3-8500 DDR3 Memory (or faster),
must be ECC compliant
Table 3 VM host hardware base configuration

1.9 VM Guest Operating System and Application Storage


Configuration
Storage recommendations are based on typical enterprise-grade traditional hard
disk drives, or equivalent enterprise-grade solid state drives (SSDs). Typical

12
Server Virtualization in Microsoft Lync Server 2010

protocols for Storage Area Networks are iSCSI, Fiber Channel, or other equivalent
solutions.
Type Spec
DAS Direct Attached Storage with SAS (15k or 10k rpm) or SATA
(7.2k rpm) drives
iSCSI SAN Storage Array Network with 1 GbE or 10 GbE iSCSI storage with
enterprise class SAS (15k rpm) drives, or equivalent SSD
drives. 2+ GB cache.
FC SAN Fiber connected Storage Array Network with 4, or 8Gbps Fibre
Channel with enterprise class SAS (15k rpm) drives, or
equivalent SSD drives. 4+ GB cache.
CSV Cluster Shared Volume (CSV) is a volume that is simultaneously
available to directly read from and write.
Table 4 VM guest storage configuration

1.10 Small VM Host Configuration

A single VM host with direct attached storage configuration.

Figure 1 Small VM host configuration diagram

Recommended networking:
• Dual network adapter/host: 1 network adapter reserved for host
access, 1+ network adapter for shared VM guest application workload.

13
Server Virtualization in Microsoft Lync Server 2010

• network adapter speed: 1 GbE or 10 GbE (VMQ)


Recommended storage:
• Dedicated spindle for VM host, as well as a dedicated spindle for each
VM guest virtual drive
Not recommended:
• 100 Mbps network adapters
• Single network adapter (for VM host and VM guest application
workload)
• Shared spindles between host and guests, or between guests

1.11 Medium VM Host Configuration


Multiple VM host with shared storage (SAN) attached through iSCSI.

Figure 2 Medium VM host configuration diagram

Recommended networking:
• 3 network adapters/host: 1 network adapter reserved for host access,
one 1 for shared VM guest application workload, 1 (or more) dedicated
to iSCSI SAN access
• MPIO is recommended for network access to SAN
• Separation of application and iSCSI traffic (dedicated iSCSI segment)
• Network adapter speed: 1 GbE or 10 GbE.
• Implement VLANs to isolate network traffic
Recommended storage:

14
Server Virtualization in Microsoft Lync Server 2010

• Dedicated SAN LUN for each VM guest virtual drive (VHD or


passthrough)
• Cluster Shared Volume (CSV)
Not recommended:
• Host with less than 3 network adapters
• Shared Host/Application/iSCSI network adapter configurations
• Shared LUNs for VM guest or application workloads

1.12 Large VM Host Configuration


Multiple VM host with shared storage (SAN) attached through Fiber Channel.
Multiple network adapter (network adapter teaming) for load balanced guest
network access. Dedicated network adapter for host-to-host communication
(VM quick migration).

Figure 3 Large VM host configuration diagram

Recommended networking:
• 4+ network adaptera/host: 1 network adapter reserved for host
access, one 2 network adapters for shared VM guest application
workload, 1 network adapter for VM host to host communication
• Fiber Channel (4 Gbps or 8 Gbps),

15
Server Virtualization in Microsoft Lync Server 2010

• Network adapter speed: 1 GbE or 10 GbE (10 GbE recommended)


• Guest network adapter teaming (IEEE 802.3ad, network adapter
teaming). Network adapter fault tolerance, and link aggregation
• Redundant network adapter and Fiber channel controllers, MPIO is
recommended
• Alternatively to dedicated Fiber Channel
• Implement VLANs to isolate network traffic
Recommended storage:
• Dedicated SAN logical unit number (LUN) for each VM guest virtual
drive (VHD or passthrough)
• Cluster Shared Volume (CSV)Redundant controllers in SAN
Not recommended:
• Shared host/application network adapter configurations
• Shared LUNs for VM guest or application workloads

1.13 VM Host Networking Considerations


Important Note: Lync Server media workloads, such as A/V and application
sharing require more bandwidth that other typical server workloads (such as email
or SQL Server database). The Lync media workloads are also more vulnerable to
high latency and packet loss problems.
While designing a virtualized Lync deployment it important to take networking
contention into account.
Networking considerations:
• VM host must have at least one dedicated network adapter for the Lync
Server workload. Shared usage with the VM host, or specifically with SAN
access is not recommended.
• A Lync Server Media workload (primarily Front End Servers and A/V
Conferencing Servers), can reach a peak network utilization of more than 500
Mbps (0.5 Gbps).
• If a specific VM host is targeted to host multiple guest VMs running Lync
media workloads, ensure that the host network adapter is sized accordingly.
To mitigate bottlenecks consider higher speed network adapters (such as 10
GbE), or multiple network adapters using link aggregation (network adapter
IEEE 802.3ad), for example a 3 x 1 GbE network adapter in a network adapter
teamed setup. For details, see Mircosoft Knowledge Base article 968703,
“Microsoft Support Policy for NIC Teaming with Hyper-V” at
http://go.microsoft.com/fwlink/?LinkId=211073.
• Enable VLAN tagging on the host network adapter, and implement (multiple)
VLANs on the guests to optimize the network traffic for the various workloads,
such as Front End Server to Client/AVMCU, and Front End Server to SQL
Server Back End Server.
• Implement MPIO (Multi-Path IO) to your storage Back End Server.

16
Server Virtualization in Microsoft Lync Server 2010

• Network adapter supporting VMQ: Enable Windows Server 2008 R2 Hyper-V


and enable VMQ on the host network adapter. Note that not all network
chipsets support VMQ. Current network adapter chipset vendors with VMQ
support are Intel, Broadcom, and other vendors.

Virtualization Configuration Guidance


The VM guest configurations described in this section are based on virtualization
best practices for general enterprise scale application workloads. While concepts
and implementation details discussed here are specific to Hyper-V on Windows
Server 2008 R2, similar concepts and features are available with other virtualization
platforms.

1.14 Applications Running in Host Root Partition


• Running application in the VM host root operating system is not
recommended.
• If antivirus software is deployed, ensure that the necessary scanning
exceptions are implemented (such as files, folders, and processes ). For
details, see Microsoft Knowledge Base article 961804, “Virtual machines are
missing in the Hyper-V Manager Console or when you create or start a virtual
machine, you receive one of the following error codes: “0x800704C8”,
“0x80070037” or “0x800703E3” at http://go.microsoft.com/fwlink/?
LinkId=210844.
• For further recommendations, see “Planning for Hyper-V Security” at
http://go.microsoft.com/fwlink/?LinkId=210845.

1.15 Guest Virtualized Storage


The following table describes the different types of virtual hard drives in the guest.
For best performance results, the a virtual disk has to reside dedicated physical
disks, or on a dedicated logical unit on a SAN.

1.15.1 Disk Types

Type Recommen Comment


ded
Dynamic No Dynamic Disk VHDs are not recommended for
Disk production servers.
Fixed Disk Yes Fixed Disk VHDs must be placed on a dedicated spindle
in Direct Attached Storage, or on a dedicated LUN
(Logical Unit) in a SAN.
Passthroug Yes Passthrough disks are physical disks, or LUNs on a SAN
h Disk which are exposed to the host and accessed by the
guest directly. The performance is typically slightly
higher than fixed disks.

17
Server Virtualization in Microsoft Lync Server 2010

Table 5 VM guest virtual storage options

For details, see “Planning for Disks and Storage” at http://go.microsoft.com/fwlink/?


LinkId=210846.

1.15.2 Mapping of Storage to VM Guests


Hyper-V offers a number of different ways to expose a drive to a VM guest operating
system. The appropriate method depends on a number of factors, such as if the
storage is locally attached, or on a SAN, and there are no specific preferences from
a Lync Server visualization perspective.

Common best practices:


• VM guest operating system boot drive must be mapped as a virtual IDE drive.
SQL Server workloads use a virtual IDE drive for the operating system, and
SQL Server binaries, and virtual SCSI controllers to map SQL Server log and
SQL Server data drives
• iSCSI targets directly exposed to the VM guest is typically implemented if VMs
need to be moved between VM hosts. Here the guest operating system drive
on the SAN and the guest specific data drives will automatically be accessible
to the guest after the move. If VMs are moved, it is required that guest
storage is located on a shared storage attached using either iSCSI, for Fibre-
Channel.

1.15.3 VM Guest Storage Recommendations by Workload

1.15.3.1 Guest Storage Sizing Recommendations


Storage type Size
Guest VM operating system with Lync Server 50 GB
installed (including paging file)
SQL Server storage drives 30-100 GB*
File storage drives 30 GB – 500 GB*
Table 6 VM guest storage sizing recommendations

* Size depends on scale of deployment depending on features such as meeting


content archiving that are used in the Lync Server deployment.

1.15.3.2 Lync Server Workloads Storage


Note: The following recommendations ask for a single VHD or physical disk for the
VM guest operating system and installed application. We also recommend separate
operating system and application (binary) installation virtual hard drives (VHD) are
recommended. The decision to implement a separate dedicated operating system
VHD may depend on your preferences for your actual virtualized deployment.

18
Server Virtualization in Microsoft Lync Server 2010

Single virtual drive in guest VM , attached as a virtual IDE using a Fixed Disk,
or Passthrough Disk. The virtual drive is placed on a dedicated physical spindle,
or a dedicated LUN in a SAN. Workloads:
• Front End Server
• Director
• Edge Server
• Stand-alone Mediation Server
• Stand-alone A/V Conferencing Server
• Archiving/Monitoring Server
• Survivable Branch server (not applicable to OEM Survivable Branch
Appliance)

Two virtual drives in guest VM, attached as virtual IDE (optionally second as
virtual SCSI) using Fixed Disk, or Passthrough Disk. The virtual drives are
placed on dedicated physical spindles, or a dedicated LUN in a SAN. Workload:
• Standard Edition server

1.15.3.3 SQL Server Workloads Storage


All virtual drives are placed on dedicated physical spindles, or a dedicated LUN in a
SAN. This is especially critical for the SQL Server storage virtual drives.

SQL Server Back End Server to a Front End pool


Four virtual drives in guest VM. Boot operating system drive attached as a virtual
IDE using Fixed Disk. Three drives for SQL Server storage attached using virtual
SCSI attached as a Passthrough Disk. However with slightly lower performance
requirements, Fixed Disk for SQL Server storage is also acceptable.
The three SQL Server storage drives map the following way: Rtcdyn log, Rtc log, and
all other databases and logs.

SQL Server Back End Server for Archiving and Monitoring


Three virtual drives in guest VM. Boot operating system drive attached as a virtual
IDE using Fixed Disk. Two drives for SQL Server storage attached using virtual
SCSI attached as a Passthrough Disk. However with slightly lower performance
requirements, Fixed Disk for SQL Server storage is also acceptable.
The two SQL Server storage drives map the following way: Log files, DBs files.

Important: Setting up databases in Lync Server on a virtualized SQL Server


requires the use of the Install-CsDatabase cmdlet with the DatabasePath parameter
set to explicitly allocate the designated SQL Server storage virtual drives. We do not
recommend placing database or log files on the guest operating system drive.

19
Server Virtualization in Microsoft Lync Server 2010

Important: We do not recommend collocating back-end databases and Archiving


and Monitoring databases into the same virtual SQL Server workload.

1.15.3.4 File Storage


Two virtual drives in guest VM, with the guest operating system drive attached
as virtual IDE using Fixed Disk, and the second drive attached as virtual SCSI
using a Passthrough Disk (acceptable Fixed Disk). The second drive is used for
the Lync Server file share.
The virtual drives are placed on dedicated physical spindles, or a dedicated LUN in a
SAN.
Note: For more details and recommendations about storage options, see “Storage
options for Windows Server 2008 Hyper-V” at http://go.microsoft.com/fwlink/?
LinkId=210858.

1.16 Other VM Guest Configuration Settings


1.16.1 Guest Operating System
Windows Server 2008 R2 is the required guest operating system. Windows
Server 2008 SP2 is not supported.

1.16.2 Network adapter


• Always use the synthetic VM network adapter in the guest operating
system. The use of the legacy network adapter is not supported for a guest
operating system running a Lync Server media workload.
• Use IP version 4 (IPv4) only in the VM guest and VM host. Disable IPv6 on
both the guest and host for improved performance.

1.16.3 Ratio of Physical to Virtual CPUs


Do not oversubscribe physical to virtual CPUs, specifically:
• Oversubscription of CPU cores on the host running virtualized Lync Server
media workloads is not supported.
• Oversubscription of CPU cores on the host is not recommended when running
other non-media virtualized Lync Server workloads (such as Director and
Archiving and Monitoring Server), or supporting virtualized storage
workloads (SQL Server or file server).
Note: Virtual machine reserved allocations are not explicitly necessary. If CPU
oversubscription is implemented, consider allocating virtual machine reserves for
critical workloads such as the SQL Server Back End Server.

1.16.4 Support of VM Image Templates


Lync Server 2010 does not support sysprep, which is applicable also to
Microsoft® SQL Server 2008 Express, which is installed on each Lync Server role.
This implies that a preconfigured generic Lync Server VM image templates cannot
be created.
We recommend the use of custom operating system templates with applicable
operating system prerequisites installed depending on the targeted workload, for
example an operating system template for Front End Servers containing Internet

20
Server Virtualization in Microsoft Lync Server 2010

Information Services (IIS), Windows Media® Format Runtime, Message Queuing


(also known as MSMQ).
As a separate VM configuration step, Lync Server roles get deployed and activated
after the guest operating system is fully configured.

1.16.5 Disable Virtual DVD/CD Drives in Guest Operating System


If virtual DVD/CD drives are not required in the guest operating system, it is a best
practice to disable these drives for better performance.

Scale Comparison of Virtualized and Physical Lync Server


Roles
1.17 CPU
We recommend an 8 CPU core (Enterprise class CPU) hardware profile for a physical
Lync Server. However, Hyper-V supports a maximum of 4 virtualized CPU core. Due
to this resource constraint, a virtualized Lync Server role can handle approximately
50% of the load compared to a physical server running Lync Server and using the
recommended hardware specifications.
In addition, a 10% virtualization overhead is deducted.

1.18 Memory
Required memory of a virtualized Lync Server 2010 role does not scale down in a
linear way by 50%. A recommendation per workload is provided in the table below.

21
Server Virtualization in Microsoft Lync Server 2010

1.19 Scale Comparison Table Physical-Virtual


Standard User model with conferencing, PSTN conferencing, and Enterprise Voice
IM&P = IM and Presence
AS = Application Sharing
AV = A/V Conferencing (collocated if Front End Server)
EV = Enterprise Voice (Response Group Service/PSTN access), Mediation Server
Reg = Registrar (subset of IM&P)
AP = Access Proxy (Edge Server)
DP = Data Proxy (Edge Server)
MR = Media Relay (Edge Server)

Note: The Virtual Machine numbers are based on a 4 core CPU Virtual Machine.

Lync Server Features Physical Virtual


Role
CPU Memor User CPU Memor User
y y
Enterprise IM&P 8 12 GB 20K 4 core 10 GB 12.5K
Edition Front core
End Server
Enterprise IM&P, AS, AV, 8 16 GB 5K 4 core 16 GB 2.5K
Edition Front EV core
End Server
Enterprise IM&P, AS, EV 8 12 GB 10K 4 core 11 GB 5K
Edition Front (8 Front End core
End Server pool)
Enterprise IM&P, AS, EV 8 12 GB 7K 4 core 11 GB 4K
Edition Front (single Front core
End Server End Server in
pool)
Standard IM&P 8 16 GB 25K 4 core 12 GB 12.5K
Edition Front core
End Server
Standard IM&P, AS, AV, 8 16 GB 5K 4 core 16 GB 2.5K
Edition Front EV core
End Server
Director Reg 4 4 GB 20K 4 core 4 GB 10K
core
Monitor/Archivi 8 16 GB 230K 4 core 8 GB 110K
ng Server core

22
Server Virtualization in Microsoft Lync Server 2010

A/V AV 8 16 GB 20K 4 core 11 GB 10K


Conferencing core
Server
Mediation MS 8 16 GB 800 4 core 10 GB 400
Server* core concurre concurre
nt calls nt calls
Edge Server AP, DP MR 8 16 GB 15K 4 core 8 GB 7.5K
core
Survivable Reg, MS 2 2 GB 1K 2 core 2 GB 1K
Branch Server core
SQL Server 8 32 GB 80K 4 core 16 GB 40K
Back End core
Server (FE)
SQL Backend 8 16 GB 230K 4 core 12 GB 115K
(M/A) core
File Server 4 4 GB 80K 2 core 3 GB 40K
core
Table 7 Virtual-physical scale comparison table

* Stand-alone Mediation Server for deployments without Media Bypass

1.19.1 Maximum Conference Size Physical-Virtual


• Physical deployment: 250 users
• Virtualized deployment: 125 users (4 core CPU Virtual Machine)

1.19.2 Stand-alone A/V Conferencing Server Recommendation


Physical-Virtual
Recommendation for deploying a dedicate stand-alone A/V Conferencing Server or
pool separate from an Enterprise Edition Front End pool:
• Physical Lync Server deployment: 10K or more users
• Virtual Lync Server deployment: 5K or more users (4 core CPU Virtual
Machine)

Sample Lync Server Virtualized Topologies


Note: The diagrams below are examples, and it is not required to host a specific
combination of VM workload on any given VM. The example VM host
specification here is a 16 core server, with 64 GB of memory.

23
Server Virtualization in Microsoft Lync Server 2010

1.20 Virtual Enterprise Edition Deployment A


All virtualized topology with eight Front End Servers, four A/V Conferencing
Servers, one SQL Server Back End Server, one SQL Server for archiving and
monitoring, one Archiving and Monitoring Server (collocated), one File Server,
and – on a separate VM host in the perimeter network (also known as DMZ) –
two Edge Servers.
Scale: 40K users, default usage profile, all modalities

Figure 4 Virtual Enterprise Edition deployment A

1.21 Virtual Enterprise Edition Deployment B


All virtualized topology with four Front End Servers, three A/V Conferencing
Servers, one SQL Server Back End Server, one SQL Server for archiving and
monitoring, one Archiving and Monitoring Server (collocated), one File Server,
and (with VLAN into the perimeter network) single Edge Server.
Scale: 20K users, default usage profile, all modalities

24
Server Virtualization in Microsoft Lync Server 2010

Figure 5 Virtual Enterprise Edition deployment B

25
Server Virtualization in Microsoft Lync Server 2010

1.22 Mix Virtual/Physical Enterprise Edition Deployment


Mixed virtualized/physical topology with eight Front End Servers, four A/V
Conferencing Servers, one SQL Server Back End Server (physical Back End and
Archiving and Monitoring Store in same SQL Server instance), one Archiving and
Monitoring Server (collocated), one File Server (physical), and two Edge Servers
(on physical server). Survivable Branch Server virtualized (example for single
site), and other workloads are running on the VM host in the branch.
Scale: 40K users, default usage profile, all modalities

26
Server Virtualization in Microsoft Lync Server 2010

Figure 6 Mixed virtual-physical Enterprise Edition deployment

1.23 Virtual Standard Edition Deployment


All virtual Standard Edition deployment, single Standard Edition server, with
Archiving and Monitoring, SQL Server (Archiving and Monitoring), Edge Server
(VLAN configuration to perimeter network)
Scale: 2K users, default usage profile, all modalities

Figure 7 Virtual Standard Edition deployment

27
Server Virtualization in Microsoft Lync Server 2010

Test Results
• Virtual Machine Queue (VMQ) should be enabled wherever supported by
network adapters. VMQ is a virtualization technology for the efficient transfer
of network traffic to a virtualized operating system. VMQ allows the VMs to
filter the queue of packets within the network adapternetwork adapter,
resulting in improved efficiency of network traffic.
VMQ requires support in the hypervisor, as well as using VMQ-enabled
network adapternetwork adapters (limited to Intel and Broadcom based
network adapternetwork adapters). You can enable this for each virtual
machine using the hypervisor’s management console, assuming that the
host’s network adapternetwork adapter supports this.
For details about enabling VMQ, see Appendix A.
• Ensure that the latest network adapternetwork adapter driver from the
hardware manufacturer is installed.
• Increase the network adapternetwork adapter’s send/receive buffers to at
least 1024 on any network adapternetwork adapter dedicated to virtual
machines. Increasing the send/receive buffer allows the operating system
greater time to process the network queue, and helps to avoid packet loss.
For details about how to do this, see Appendix B.

28
Server Virtualization in Microsoft Lync Server 2010

Measuring Performance on Virtual Lync Server 2010


The testing described in the previous section required interpreting the Lync Server
user model, and understanding how to measure the performance of Lync Server.
This section describes the user model and how it was used to measure performance
on virtual machines that are running Lync Server.
Additionally, this section describes the key performance indicators (KPIs) to monitor
for virtual Lync Server performance.

1.24 Performance Indicators


For details about specific performance counters and where to observe them, see
Appendix D: Performance Counters.

1.24.1 Processor and Percentage of Processor Time


In general, all processors and percentage of total processor time should be
measured on each server.
Short CPU spikes of 70% or more for less than a few minutes is acceptable,
however, the CPU should typically be operating at less than 70% during peak load.
If it is consistently higher, there could be more users connected than usual, or some
other change resulting in higher load. This indicates that the process is overloaded,
and more instances of the server are needed to handle that load.

1.24.2 Network Interface


The network adapternetwork adapters should be operating at no more than 80%
capacity.

1.24.3 Memory
Pages/second indicates the total pressure on the server’s available memory.

1.24.4 Databases
• Queue Latency: The amount of time a request spends in the queue to the
Back End Server.
If for any reason resources (such as disk, memory, network, and processor)
on the Back End Server are too high, the queue latency will also be high.
Queue latency can also be high if there is too much network latency between
the Front End Server and the Back End Server.
• Sproc Latency: The amount of time it takes the Back End Server to process
a request.
If both Sproc latency and Queue latency counters are high, then the most
likely bottleneck is the SQL Server back-end database. Check for disk IO
contention first (see disk). SQL Server database active transactions are a
good indicator of which database is having more contention than others.
• Page Life Expectancy: The server needs more RAM if this counter is a value
fewer than 3600, which indicates memory pressure by the system. Note:

29
Server Virtualization in Microsoft Lync Server 2010

there should be few ‘reads’ on the database drive if there’s sufficient memory
because SQL Server should only be writing to the database.

1.24.5 SIP
• Average Holding Time for Incoming Messages: If this counter is more
than 10 seconds (12 seconds maximum), then the server goes into throttling
mode and only allows one outstanding transaction per client connection. If
this value goes down to 3 seconds, then the server allows up to 20
outstanding transactions per client connection.
• Flow Controlled Connections: Whenever the number of transactions on a
specific connection exceeds the above threshold, the connection is marked
as flow controlled and the server doesn’t post any receives on it, and this
counter is incremented.
• Local 503 Responses/sec: The HTTP 503 return code corresponds to server
unavailable. There shouldn’t be any of these responses on a healthy server in
a steady state. There may be some during ramp up, after a server has just
been brought back online, but once all users reconnect and the server
reaches a stable state there should no longer be any of these responses.
• Local 504 Responses/sec: A few of these responses to clients are to be
expected (for example, when clients abruptly disconnect), but this counter
mostly indicates connectivity issues with other servers. This can indicate
connection failures or delays connecting to remote servers.
• Sends Outstanding: If the 504 performance counter indicates that 504s are
being received, then this is a good counter to check. This value indicates the
number of requests and responses that are queued outbound: if this counter
is high then the problem is probably not on this server. This counter can also
be high if there are network latency issues.

30
Server Virtualization in Microsoft Lync Server 2010

Appendix A: How to Enable VMQ on Intel Network


Adapter
Note: If you are using a network adapter teaming with the Intel network adapter,
ensure that you have Intel v15.0 (or higher driver available). Earlier versions do
not support VMQ on a teamed network adapter.
In a command prompt window, run the following to add the key to the host
machine’s registry:
reg add
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMSMP\Parameter
s\BelowTenGigVmqEnabled /t REG_DWORD /d 1 /f

Then, enable VMQ on the driver:


1. In Control Panel, open the Device Manager and browse to Network
Adapters.

2. Right-click the applicable network connection, click Properties, and then


click the Advanced tab.

3. In the Settings list, click Virtual Machine Queues, and then set the
value to Enabled.

31
Server Virtualization in Microsoft Lync Server 2010

Figure 8 Advanced tab of Network Adaptor Properties, showing Virtual Machine


Queue setting

32
Server Virtualization in Microsoft Lync Server 2010

Appendix B: How to Increase Send/Receive Buffers on


Intel Network Adapter
1. In Control Panel, open Device Manager and browse to Network Adapters.
2. Right-click the applicable network connection, click Properties, and
then click the Advanced tab.
3. In the Property list, click Receive Buffers, and increase the value to
at least 1024.
4. In the Property list, click Transmit Buffers, and increase the value to
at least 1024.
5. Depeding on the driver version used, Receive and Transmit Buffers may
not be visible here, and rather “Performance Options” may be listed. If
this is the case, open it and browse to the settings for Transmit and
Receive Buffers.
6. Click OK to save these settings.

Figure 9 Advanced tab of Network Adapter properties, showing Receive Buffers


property.

33
Server Virtualization in Microsoft Lync Server 2010

Appendix C: Changing the Bandwidth Limit for


Application Sharing
You can change the upper bandwidth limit used by Application Sharing server
by using the Set-CsConferencingPolicy cmdlet in Lync Server Management Shell.
150 Mbps is the recommended limit; after this point the virtual machines were
observed to become CPU bound.
Run the following example cmdlet on the virtual Standard Edition server to
change the Application Sharing bandwidth:
Set-CsConferencingConfiguration -Identity global –
MaxBandwidthPerAppSharingServiceMb 150

34
Server Virtualization in Microsoft Lync Server 2010

Appendix D: Performance Counters


In order to monitor performance in a virtual Lync Server site, the performance
counters described in this section should be observed. For details about how to
create performance baselines, see the second part of this section.

1 Lync Server 2010 Performance Counter Reference


For reference, the performance counter information in this section is separated by
the Lync Server role as follows:
• All Servers

• Front End Server

• Edge Server

• Back End Server

• Mediation Server

• A/V Conferencing Server

1.25 All Servers


Monitor the following performance on all virtual Lync Server system:
Performance Counter Details
Process(*)\%Processor Time Monitor and collect (for Lync Server processes)
Process(*)\%Privileged Time Monitor and collect (for Lync Server processes)

Process(*)\%Private Bytes Monitor and collect (for Lync Server processes)

Process(*)\%Virtual Bytes Monitor and collect (for Lync Server processes)

Processor\% Processor Time It’s OK to see short CPU spikes at 70% or more – less
(Total) than a few minutes, but the CPU should normally operate
at less than 70% during peak load. If it is consistently
higher, then determine if there are more users connected
than usual or if there has been some other change that
may result in higher load. Note this counter is
representing the virtualized CPU as the guest operating
system sees it.
LS:SIP – 07 – Load This should usually be less than 1 second on average but
Management; SIP – 000 – it’s normal to see short spikes of up to 3 seconds. The
Average Holding Time For server will throttle new incoming messages after going
Incoming Messages above the high watermark and until the number of

35
Server Virtualization in Microsoft Lync Server 2010

LS:SIP – 01 – Peers\SIP – 020 – messages falls below the low watermark. Check Outgoing
Average Queue Delay for delays sending messages to other
servers or clients that could be causing messages to be
accumulated in the server. The server will drop client
connections if it’s in a throttle state and messages stay
in the outgoing queue for more than 32 seconds.
The server starts rejecting new connections when
average holding time is greater than overload time of 15
seconds.
LS:USrv – 21 – Https Monitor and collect
Transport; USrv – 002 –
Number of failed connection
attempts / Sec

1.26 Front End Servers


Monitor the following Lync Server modalities on Front End Servers:
Performance Counter Details
\LC:AsMcu – 00 – AsMcu Conferences\ASMCU – 010 – Connected Users Compare these
\LC:AsMcu – 00 – AsMcu Conferences\ASMCU – 010 – Active counters’
Conferences maximum to the
\LC:ImMcu – 00 – ImMcu Conferences\IMMCU – 010 – Connected Users published
\LC:ImMcu – 00 – ImMcu Conferences\IMMCU – 010 – Active conferencing
Conferences numbers in this
\LC:RGS – 01 – response group service call control\RGS – 009 –
document.
Current active calls
\LC:SIP – 01 – Peers(Clients)\SIP – 000 – Connections Active
\LC:DATAMCU – 00 – DataMCU Conferences\DATAMCU – 003 – Active
Conferences
\LC:USrv – 06 – Rich Presence Service SQL Calls\ISrv – 005 –
Publications/Sec
\LC:MediationServer – 00 – Outbound Calls(_Total)\- 000 Current
\LC:MediationServer – 01 – Inbound Calls(_Total)\- 000 Current

Monitoring the individual processes on Front End Servers:


Performance Counter Details
Processor\(_Total)\%ProcessorTime Monitor and collect
\Processor\(ASMCUSvc)\%ProcessorTime
\Processor\(IMMCUSvc)\%ProcessorTime
\Processor\(MediationServerSvc)\
%ProcessorTime
\Processor\(OcsAppServerHost#1)\
%ProcessorTime
\Processor\(OcsAppServerHost#2)\
%ProcessorTime
\Processor\(OcsAppServerHost#3)\

36
Server Virtualization in Microsoft Lync Server 2010

%ProcessorTime
\Processor\(OcsAppServerHost#4)\
%ProcessorTime
\Processor\(OcsAppServerHost#5)\
%ProcessorTime
\Processor\(OcsAppServerHost#6)\
%ProcessorTime
\Processor\(RTCSrv)\%ProcessorTime
\Processor\(RtcHost)\%ProcessorTime

Monitor following SIP/IMMCU/Database Store performance counters on all Enterprise


Edition Front End Servers:
Performance Counter Details
LS:USrv – 01 - DB Store; USrv – 002 - Queue Latency: the time a request spends in
Queue Latency (msec) the queue to the Back End Server. The server
will start dropping requests when the database
queue latency is >32 seconds.
Sporadic spikes of a few seconds are
considered normal, however the average
latency should be < 100msec.
Server health decreases as latency increases to
32 seconds, after which server throttling
begins.
LS:USrv – 01 - DB Store; USrv – 004 - Note: If for any reason (such as disk, memory,
Sproc Latency (msec) network, or processor) on the Back End Server is too
high, the queue latency counter will be high. Queue
latency can also be high if there is too much
network latency between the Front End Server and
the Back End Server.
If both Sproc Latency and Queue Latency counters
are high, then most likely the bottleneck is the SQL
Server back-end database. Check for disk IO
contention first (see Physical Disk perf counters).
SQL Database active transactions are a good
indicator of which database is having more
contention than the others.
LS:USrv – 01 - DB Store; USrv – 020 – Rarely, requests are dropped from the queue
Throttled requests/sec due to database queue contention.
LS:Urv – 13 – Endpoint Cache;USrv –
001 – Active Registered Endpoints
LS:SIP – 07 – Load Management;SIP –
000 – Average Holding Time For
Incoming Messages
LS:SIP – 07 – Load Management;SIP –
004 –Incoming Messages Held Above
High Watermark
LS:SIP – 07 – Load Management;SIP –
005 –Incoming Messages Held Above
High Overload Watermark

37
Server Virtualization in Microsoft Lync Server 2010

LS:SIP – 07 – Load Management;SIP –


006 –Incoming Messages Timed out
MSSQL$RTCLOCAL: Buffer Manager - The server could need more RAM if this counter is <
Page life expectancy 3600 which indicates memory pressure by the
system.
Additionally, there are few to no ‘reads’ on the
database drive if there’s enough memory, because
SQL Server should only be writing to the database.
LS:SIP - 07 - Load Management; SIP -
000 - Average Holding Time For
Incoming Messages
LS:SIP – 04 – Responses; SIP – 053 - Indicates that there’s some server component
Local 500 Responses/sec that is not functioning correctly.
LS:SIP – 04 – Responses; SIP - 055 - The 503 code corresponds to server unavailable.
Local 503 Responses/sec There should not be any 503s on a healthy server at
a steady state. During ramp up, after a server has
just been brought back online, there may be some
503s. However, as all users get back in and the
server returns to a stable state, there should no
longer be any 503s.
LS:SIP – 04 – Responses; SIP – 057 - A few 504 responses to clients (for clients
Local 504 Responses/sec disconnecting abruptly) is to be expected, but this
counter mainly indicates connectivity issues with
other servers. It can indicate connection failures or
delays connecting to remote servers.
LS:SIP – 01 – Peers; SIP - 017 - Sends If there are 504 responses, this is a good counter to
Outstanding (*) check. It indicates the number of requests and
responses that are queued outbound, which means
that if this counter is high then the problem is
probably not on this server.
This counter can be high if there are network latency
issues
LS:ImMcu – 02 – MCU Health And The current health of the Instant Messaging
Performance; IMMCU – 005 – MCU “MCU”.
Health State 0 = Normal
1 = Loaded
2 = Full
3 = Unavailable.
LS:USrv– 23 – Conference Focus Compare to total add conference requests to
Factory; USrv – 012 – Add Conference determine conference allocation failures.
requests succeeded
LS:USrv– 24 – Conference Control; USrv These counters indicate conferencing related
– 018 – Local C3P failure responses failures.
LS:USrv– 26 – Conference Mcu
Allocator; USrv – 009 – Factory
Unreachable Failures
LS:USrv– 26 – Conference Mcu
Allocator; USrv – 010 – Factory Calls
Timed-Out
LS:USrv– 26 – Conference Mcu
Allocator; USrv – 016 – Create
Conference Mcu Unreachable Failures

38
Server Virtualization in Microsoft Lync Server 2010

LS:USrv– 26 – Conference Mcu


Allocator; USrv – 017 – Create
Conference Requests Timed-Out

Monitoring the following Performance Counters for the Web Servers component
(applicable to Front End Server and Director role)
Performance Counter Details

LS:DATAMCU – 00 – DataMCU
Conferences; DATAMCU – 003 – Active
Conferences ----
LS:DATAMCU – 00 – DataMCU
Conferences; DATAMCU – 025 –
Number of Data MCU users in any role
--
LS:DATAMCU – 04 – MCU Health and The current health of the MCU. 0 = Normal. 1 =
Performance; DATAMCU – 005 – MCU Loaded. 2 = Full. 3 = Unavailable.
Health State
LS:DATAMCU – 04 – MCU Health and The current draining status of the MCU. 0 = Not
Performance; DATAMCU – 006 – MCU requesting to drain. 1 = Requesting to drain. 2
Draining State = Draining.

Monitor the following performance For application sharing (ASMCU), observe the
following:
Performance Counter Details
LS:AsMCU – 02 – CCCP Processing ---- Monitor and collect
LS:AsMCU – 017 – CCCP Messages Retried/Sec ----
LS:AsMCU – 019 – Current CCCP Message Queue Size
----
LS:AsMCU – 029 – Number of add conference
requests failed ----
LS:AsMCU – 030 – Number of add user requests
failed ----
LS:AsMCU – 00 – AsMcu Conferences\ASMCU – 000 –
Active Conferences
LS:AsMCU – 00 – AsMcu Conferences\ASMCU – 003 –
Connected Users

1.27 Edge Server


Monitor the following performance counters on Edge Server (Access Edge SIP
component):
Performance Counter Details
\LC:SIP – 09 – Access Edge\SIP – 001 – External Monitor and collect
Messages/sec with Internally Supported Domain
\LC:SIP – 09 – Access Edge\SIP – 003 – External
Messages/sec Received With Allowed Partner

39
Server Virtualization in Microsoft Lync Server 2010

Server Domain
\LC:SIP – 09 – Access Edge\SIP – 001 – External
Messages/sec Received With IM Service Provider
Domain
\LC:SIP – 09 – Access Edge\SIP – 001 – External
Messages/sec Received With a Configured Allowed
Domain

Monitor the A/V Conferencing Edge component (audio/video and application


sharing):
LS:A/V Edge – 00 UDP Counters:
Performance Counter Details
LS:A/V Edge - 001 - Active Relay Sessions –
Authenticated
LS:A/V Edge - 002 - Active Relay Sessions -
Allocated Port
LS:A/V Edge - 003 - Active Relay Sessions – Data
LS:A/V Edge - 004 - Allocated Port Pool Count The value must be > 0. If it
reaches 0 there is a resource issue.
LS:A/V Edge - 005 - Allocated Port Pool Miss Count
LS:A/V Edge - 006 - Allocate Requests/sec
LS:A/V Edge - 009 - Allocate Requests Exceeding If the value is > 0, this could
Port Limit indicate an attempt to misuse the
port.
LS:A/V Edge - 012 - Alternate Server Redirects
LS:A/V Edge – 019 – Session Idle Timeouts/sec
LS:A/V Edge - 021 - Packets Received/sec
LS:A/V Edge - 022 - Packets Sent/sec
LS:A/V Edge - 025 - Average Data Packet Latency
(milliseconds)
LS:A/V Edge - 030 - Packets Dropped/sec This error occurs when an
unexpectedly high rate of User
Datagram Protocol (UDP) packets is
received at the Media Relay (A/V Edge
server) causing some packets to be
discarded. This could be the result of
system overload or an indication of an
attempt to misuse the MR.
To resolve this, check that the
profile of network traffic to the MR
is in line with expected usage. If
the traffic exceeds 250 Mbps per
interface then increase the Receive
and Transmit buffer size on the
associated network

40
Server Virtualization in Microsoft Lync Server 2010

adapternetwork adapters to three


times the default values.
If the cause is a general system
overload, then increase capacity of
the deployed MR function. A
network level trace can be used to
determine if there is an unusual
amount of traffic originating from a
single source. If the situation
persists, then enable tracing to
check the network source of
sessions exceeding the bandwidth
limits to allow further
troubleshooting of the cause.

LS: A/V Edge – 01 – TCP Counters:


Performance Counter Details
LS:A/V Edge - 001 - Active Relay Sessions –
Authenticated
LS:A/V Edge - 002 - Active Relay Sessions -
Allocated Port
LS:A/V Edge - 003 - Active Relay Sessions – Data
LS:A/V Edge - 004 - Allocated Port Pool Count The value must be > 0. If it reaches 0
there is a resource issue.
LS:A/V Edge - 005 - Allocated Port Pool Miss Count
LS:A/V Edge - 006 - Allocate Requests/sec
LS:A/V Edge - 009 - Allocate Requests Exceeding If the value is > 0, this could indicate
Port Limit an attempt to misuse the port.
LS:A/V Edge - 012 - Alternate Server Redirects
LS:A/V Edge – 019 – Session Idle Timeouts/sec
LS:A/V Edge - 021 - Packets Received/sec
LS:A/V Edge - 022 - Packets Sent/sec
LS:A/V Edge - 025 - Average Data Packet Latency
(milliseconds)
LS:A/V Edge - 030 - Packets Dropped/sec This error occurs when an
unexpectedly high rate of TCP
packets is received at the MR causing
some packets to be discarded. This
could be the result of system
overload or an indication of an
attempt to misuse the MR.
To resolve this, check that the
profile of network traffic to the MR
is in line with expected usage. If
the traffic exceeds 250 Mbps per
interface then increase the
Receive and Transmit buffer size
on the associate network adapter
to three times the default values.

41
Server Virtualization in Microsoft Lync Server 2010

If the cause is general system


overload then increase capacity of
the deployed MR function. A
network level trace can be used to
determine if there is unusual
amount of traffic originating from
a single source. If the situation
persists then enable tracing to
check the network source of
sessions exceeding the bandwidth
limits to allow further
troubleshooting of the cause.

Monitor the following on the HTTP relay (Web Server component with Reach client):
Performance Counter Details
LS:WebRelay – 00 – Reach Web Relay Server\* Monitor and collect

1.28 Back End Server


Memory (not applicable if guest VM has dynamic memory enabled)
Performance Counter Details
% Committed Byes in Use Monitor and collect
Available Mbytes
Cached Bytes/[peak]
Network Interface:
Performance Counter Details
Bytes Total/sec <All instances> Monitor and collect
Physical Disk:
Performance Counter Details
% Idle Time (*) A consistently small percentage of idle time is usually
an indication of poor disk performance.
Ave. Disk Queue Length (*) Disk Queue Length per drive should be no more than
double the number of spindles backing up that drive.
Avg. Disk Sec/Read(*) Any average numbers above 1.5 msec usually
Avg. Disk Sec/Write(*) indicate poor disk performance.
Process:
Performance Counter Details
Process(*)\%Processor Time Monitor and collect
Process(*)\%Privileged Time
Process(*)\%Private Bytes
Process(*)\%Virtual Bytes
Processor Information: Short CPU spikes of around 80% or more for less
% Interrupt Time (_Total) than a few minutes is to be expected, but the CPU
% Processor Time (_Total) should normally operate at less than 80% during

42
Server Virtualization in Microsoft Lync Server 2010

peak load. If it is consistently higher, then determine


if there are more users connected than usual or if
there has been some other change that may result in
higher load.
Database:
Performance Counter Details
SQLServer:User Settable\User Approximate number of active endpoints in the pool.
Counter 1
MSSQL$RTC:Databases(rtc)\Activ A high number of active transactions usually
e Transactions indicates database transaction contention.
MSSQL$RTC:Databases(rtcdyn)\A Monitor and collect
ctive Transactions
MSSQL$RTC:Databases(tempdb)\
Active Transactions

1.29 Mediation Server


The following performance counters should be used to measure the performance of
the Mediation Server:
Performance Counter Details
LS:MediationServer - 00 - The total number of active calls going through the
Outbound Calls\- 000 – Current Mediation Server.
LS:MediationServer - 00 - Total number of active calls going through Mediation
Outbound Calls\- 006 – Active Server that are in Media Bypass mode. Calls using
media bypass calls Media Bypass use significantly fewer Mediation
Server resources because the media is not flowing
through Mediation Server.
LS:MediationServer – 04 – Global Total number of active channels that are having
Counters\-000 Current Audio Phase Shift Modulation (PSM)quality reported.
channels with PSM quality Calculating PSM quality has a processing overhead
reporting so this should be taken into account when measuring
performance.
LS:MediationServer - 01 - Monitor and collect
Inbound Calls\- 000 – Current
LS:MediationServer - 00 -
Inbound Calls\- 006 – Active
media bypass calls

43
Server Virtualization in Microsoft Lync Server 2010

The following performance counters can be useful when troubleshooting the


Mediation Server component:
Performance Counter Details
LS:MediationServer - 02 - Media The number of calls where media connectivity
Relay\- 001 - Media Connectivity between Mediation Server and the remote
Check Failure endpoints could not be established.
LS:MediationServer - 03 - Health Scaled index between zero and 100 that is related
Indices\- 000 - Load Call Failure to all call failures due to Global Health Index as
Index heavy load.
CS:MediationServer - 04 - Global The number of calls that failed because of an
Counters\- 001 - Total failed calls unexpected response from the Front End Server.
caused by unexpected interaction
from the Proxy ----

CS:MediationServer - 05 - Global The number of calls that failed because of an


Per Gateway Counters\- 000 - unexpected response from a gateway peer.
Total failed calls caused by
unexpected interaction from a
gateway

1.30 Audio/Video Conferencing Server


Monitor the following Performance Counter with applicable threshold levels
(implement in System Center Operations Manager Lync Server Management)
Performance Counter Details
LS:MEDIA - 01 – Planning\MEDIA - 009 - Number of Error Threshold = 30
occasions conference processing is delayed Experiencing transient audio
significantly\ AVMCUSvc.exe quality issues due to CPU load

LS:SipEps - 02 - SipEps Connections\SipEps - 010 – Error Threshold = 1 (in 4


NumberOfDNSResolutionFailures\*avmcusvc* consecutive)

The events in the Lync Server event log reflect media stack health:
Event ID Details
32013 Audio Video Conferencing Server health If the A/V Conferencing Server
monitoring has detected that Audio Video reaches these points then
Conferencing Server is running at a moderate subsequent operations to add new
capacity (Warning or Error) conferences and new users will be
rejected until the health returns to
normal state.

1.31 Establishing Performance Baselines


In order to establish a performance baseline, use the following counters

1.31.1 Resource Utilization Baseline Tests


Processor; % Processor Time (_Total)
Process; % Processor Time (RtcSrv)

44
Server Virtualization in Microsoft Lync Server 2010

Process; % Processor Time (IMMcuSvc)


Memory; Pages/sec ---
Network Interface; Bytes Total/sec ([your network adapter])

1.31.2 User Load Baseline Tests


LS:SIP – 01 - Peers; SIP - 028 - Incoming Requests/sec (_Total)
LS:SIP - 01 – Peers; SIP – 001 – TLS Connections Active (_Total)
LS:SIP – 01 – Peers; SIP – 000 – Connections Active (_Total)
LS:SIP – 02 – Protocol; SIP - 001 - Incoming Messages/sec ----
LS:ImMcu – 00 - IMMcuSvc Conferences; IMMCU – 000 - Active Conferences ----
LS:ImMcu – 00 - IMMcuSvc Conferences; IMMCU – 001 – Connected Users ----
LS:USrv – 00 – DBStore; Usrv – 002 – Queue Latency (msec)
LS:USrv – 00 – DBStore; Usrv – 004 – Sproc Latency (msec)

1.31.3 Multipoint Conferencing Unit (MCU) Resource Utilization


Baseline Tests: (Monitor on All MCUs)
Processor; % Processor Time (_Total)
Network Interface; Bytes Total/sec ([your network adapter])
Memory; Pages/sec (---)
Process; % Processor Time (ASMCUSvc)
Process; % Processor Time (AVMCUSvc)
Process; % Processor Time (DataMCUSvc)
Process; % Processor Time (MeetingMCUSvc)
Process; Private Bytes (ASMCUSvc) ([peak])
Process; Private Bytes (AVMCUSvc) ([peak])
Process; Private Bytes (DataMCUSvc) ([peak])
Process; Private Bytes (MeetingMCUSvc) ([peak])

45

You might also like