Capacity Planning for Group Chat Server

 

Topic Last Modified: 2012-10-18

Microsoft Lync Server 2010, Group Chat provides persistent chat sessions. Unlike instant messaging (IM), a Lync Server 2010, Group Chat session is saved, along with the messages, files, URLs, and other data that are part of an ongoing conversation.

Capacity planning is an important part of preparing to deploy Group Chat Server. This topic provides details about supported Group Chat Server topologies and capacity planning tables that you can use to determine the best configuration for your deployment. It also describes how to best manage Group Chat Server deployments that require greater capacity at peak times.

To download Group Chat Server, see “Microsoft Lync Server 2010 Group Chat” at https://go.microsoft.com/fwlink/p/?LinkId=209539.

For details about installing Group Chat Server, see Installing and Configuring Group Chat Server in the Deployment documentation.

Group Chat Server Supported Topologies

You can deploy Group Chat Server in a single-server topology or in a multiple-server topology.

Note

For additional details about both topologies, see Planning for Group Chat Server in this documentation set and Deploying Group Chat Server in the Deployment documentation.

Note

Some combinations of Microsoft Lync Server 2010 and Microsoft Office Communications Server 2007 R2 can coexist. For details, see Migrating Group Chat Server in the Migration documentation.

Single-Server Topology

The minimum configuration and simplest deployment for Group Chat Server is a single-server topology. This topology can support as many as 20,000 users. It requires a server to run Microsoft Lync Server 2010, a Group Chat Server, a server to host the Group Chat database, and workstations to host Microsoft Lync 2010 Group Chat. If compliance is required, you need an additional server to host the Compliance service and an additional database to store the compliance data. The compliance database can be collocated with the Compliance service.

Note

Your Lync Server 2010 deployment, Group Chat Server, and the Compliance service must all reside in the same Active Directory Domain Services (AD DS) domain.

The following figure shows all the components of the single-server topology with the optional Compliance service.

Single Group Chat Server

Single Group Chat Server

Multiple-Server Topology

To provide greater capacity and reliability, you can deploy a multiple-server topology, as described in Planning for Group Chat Server. The multiple-server topology can include as many as three Group Chat Servers, each of which can support as many as 20,000 users, for a total of 60,000 users. A multiple-server topology is the same as the single-server topology except that multiple servers host Group Chat Server. Multiple Group Chat Servers should reside in the same AD DS domain as Lync Server and the Compliance service.

The following figure shows all the components of a multiple-server topology with multiple Group Chat Servers, the optional Compliance service, and a separate compliance database.

Multiple Group Chat Servers

Multiple Group Chat Servers

In a three-server Group Chat Server deployment, where 60,000 users can be simultaneously signed in to and using Lync 2010 Group Chat, the load is distributed evenly at 20,000 users per server. If one server becomes unavailable, the users who are connected to that server will lose their access to Group Chat Server. The disconnected users will be automatically transferred to the remaining servers until the unavailable server is restored. Depending on the amount of Group Chat traffic on the network, this transfer can take a few minutes or as long as an hour. Because each of the remaining servers might be hosting as many as 30,000 users, we recommended that you restore the unavailable server as quickly as possible to avoid performance issues.

The load on the Group Chat Servers is balanced by the Lookup service. Group Chat Servers cannot be located behind a hardware load balancer. If the load becomes unbalanced after a server becomes unavailable, the Lookup service will rebalance the load when clients sign in and out, but it will not attempt to balance existing connections.

Group Chat Server Capacity Planning

The following tables can help you with capacity planning for Group Chat Server. They model how changing various Group Chat Server settings impacts capacity capabilities. The italic numbers represent variables that you can change based on your deployment.

Planning Your Maximum Capacity for Group Chat Server

Use the following sample table to determine the number of users you will be able to support.

Group Chat Server Maximum Capacity Sample

Channel service instances

3

Active users

60,000

In the preceding sample, the plan is to support the maximum number of users Group Chat Server allows: three servers/instances of the Channel service and 20,000 users per server, for a total of 60,000 active users.

Capacity Planning for Managing Chat Room Access

The following sample table can help you plan for managing chat room access in Group Chat Server.

Managing Chat Room Access Sample

30 users per room 150 users per room 12,000 users per room Total

Chat rooms

24,000

800

10

Active users per chat room

30

150

12,000

Chat rooms per user

12

2

2

User groups in each chat room’s membership list

10

10

15

Rooms managed by user groups

50%

50%

50%

User-group-based membership entities across all chat rooms

120,000

4000

252

User-based membership entities across all chat rooms

360,000

60,000

18,000

Users and user groups in each chat room's manager, presenter, and scope lists

6

6

6

Users and user groups across all chat room's manager, presenter, and scope lists

144,000

4800

144

Access control entries

624,000

68,800

18,396

711,196

Maximum access control entries

50

50

50

1,000,000

In the preceding sample, when you deploy the Group Chat Servers according to the recommended guidelines, they can handle up to 60,000 active users across a three-server pool with compliance enabled.

This sample shows chat rooms categorized as small (30 active users at any given time), medium (150 active users), and large (12,000 active users). The number of chat rooms of a certain size is computed based on the total number of:

  • Active users in the system

  • Active users in chat rooms of the given size

  • Chat rooms of the given size that a single user joins

You can modify the italic numbers in the previous table to estimate how many chat rooms of a certain size will be created in the system and the rate of outbound chat messages that the system is likely to generate. In the sample, where there are 60,000 active users in the system, if each user simultaneously joins 12 small, 2 medium, and 2 large chat rooms, there will be 24,000 small, 800 medium, and 10 large chat rooms created in the system.

For each chat room, the preceding capacity planning table specifies the number of access control entries that are associated with the chat room, including entries that are inherited from parent categories and entries that are assigned directly to the chat room. You can control access to individual chat rooms by using access control lists (ACLs). You can also control access at the category level. In an ACL, an individual access control entry can be either a user group—for example, a security group, distribution list, or federated user group—or a single user. You can define access control entries for chat room managers, presenters, and members.

For planning purposes, you must estimate the percentage of chat rooms that will be managed by assigning user groups instead of individual users. The data in the preceding sample assumes that the ACLs consisting of 50% of small chat rooms, 50% of medium chat rooms, and 50% of large chat rooms are made up exclusively of user groups, and the remaining chat rooms are made up of individual users.

In the preceding sample, the ACLs for the manager group, the presenter group, and the scope of a chat room category are constant across all chat room sizes. The sample assumes that there are six access control entries per chat room in each of these lists.

Important

In planning your strategy for managing chat rooms, keep in mind that the total number of allowed access control entries is 1 million. If the calculated access control entries exceed 1 million, server performance could degrade significantly. To avoid this issue, whenever possible, ensure that your access control entries are user groups instead of individual users.

Capacity Planning for Managing Chat Room Access by Invitation

You can use the following capacity planning table to compute the number of invitations that Group Chat Server creates and stores in the Group Chat database when it is configured to send invitations. You manage invitations from the Chat room settings page either in the Microsoft Lync Server 2010, Group Chat Admin Tool or Group Chat Server client (Group Chat).

The sample data in the following table assumes that, on the Chat room settings page for 50% of all chat rooms, the Invitations option is set to Yes, and the chat rooms are operating at full capacity.

Important

If the calculated value for the number of invitations generated by the server exceeds 1 million, server performance could degrade significantly. To avoid this issue, ensure that you minimize the number of chat rooms that are configured to send invitations or restrict the number of users who can join chat rooms that have been configured to send invitations.

Chat Room Access by Invitation Sample

30 users per room 150 users per room 12,000 users per room Total

Chat rooms configured to send invitations

12,000

400

5

Users who can access the chat room

30

150

12,000

Invitations generated by Group Chat Server

360,000

60,000

60,000

480,000

Maximum allowable number of invitations

1,000,000

Group Chat Server Performance User Model

The following table describes the user model for Group Chat Server. It provides the basis for the capacity planning requirements and represents a typical organization with 60,000 concurrent users.

Group Chat Server Performance User Model

Number of active users

60,000

Number of Channel Servers

3

Size of small chat rooms

30 users

Size of medium chat rooms

150 users

Size of large chat rooms

12,000 users

Total number of chat rooms

24,810

Number of small chat rooms

24,000

Number of medium chat rooms

800

Number of large chat rooms

10

Total number of chat rooms per user

16

Number of small chat rooms per user

12

Number of medium chat rooms per user

2

Number of large chat rooms per user

2

Peak join rate

10/second

Total chat rate

20/second

Chat rate for small chat rooms

18/second

Chat rate for medium chat rooms

1.8/second

Chat rate for large chat rooms

0.2/second

Percentage of chat rooms configured for invitations

50%

Percentage of direct memberships

50%

Percentage of group memberships

50%

Average number of ancestor affiliations in AD DS

100 - 200

Number of subscribed contacts per user

80

Average number of visible chat rooms

1.5 (50% at 1 and 50% at 2)

Number of participants polled per interval

15 per visible chat room

Length of polling interval

5 minutes

Number of participants polled per second

4500

Number of presence changes per hour per user

4

Number of presence changes per second

66.66