Stress and Performance Tool: Configure Large Conferences

 

Topic Last Modified: 2011-02-22

The Lync Server 2010 Load Configuration Tool (UserProfileGenerator.exe) currently does not support the generation of large conferences (250 viewers or more) for any of the conferencing modalities. In order to aid in the generation of these large conferences, we have provided a pair of example XML files (IMViewers.xml and IMSharers.xml) at the end of this topic that you can use as references.

Important

You must encode the XML files in Unicode in order for LyncPerfTool to run correctly.

Largest Conferences

The two example XML files create a large conference for the instant messaging (IM) scenario. We generally recommend that you have a separate computer dedicated for these large conferences.

In order to create your own large conferences, the following changes must be made to each file.

For the Sharer (the user that creates the conference) file:

  1. In the CommonConfiguration section, change all of the relevant fields to match your topology. This includes TargetServer, ServerPort, UserDomain, AccountDomain, MediationServer, and MediationServerPort. These should be the same as the values you would specify in the UserProfileGenerator.

  2. Change the UserNamePrefix to the appropriate user name prefix.

  3. For the sharer, make sure there is only 1 user (UserNumber is 1). Note that it is generally good practice to create a different set of users to be used specifically for each large conference. In our example, we have created users who have the prefix imconf, and there are 251 of these users. If you want to reuse users you have already created, change the UserNumberBeginning field to the appropriate value.

  4. In the BasicConversationConfiguration section of the XML, the following section must be changed depending on which scenario you are planning on running.

    <AcceptIncomingIM>true</AcceptIncomingIM>
    <AcceptIncomingAV>false</AcceptIncomingAV>
    <AcceptIncomingAppSharing>false</AcceptIncomingAppSharing>
    <ImCallPercentage>100</ImCallPercentage>
    <AVCallPercentage>0</AVCallPercentage>
    <AppSharingCallPercentage>0</AppSharingCallPercentage>
    <DataMCUCallPercentage>0</DataMCUCallPercentage>
    

    This file is currently configured for IM conferences. For example, to do AppSharing instead, change all AcceptIncoming values to false except for AcceptIncomingAppSharing, and set all CallPercentage values to 0 except for AppSharingCallPercentage, which should be 100. In the case of DataMCU, set all of the AcceptIncoming values to false and set DataMCUCallPercentage to 100. Running more than one type of large conference in a single configuration file is not supported.

  5. Finally, ensure that InviteUserStartIndex and InviteUserEndIndex correspond to the users that you have designated as the viewers.

For the Viewer (the users that join the conference) file:

  1. See Step 1 for Sharer.

  2. See Step 2 for Sharer.

  3. Change the UserNumber to be the same as the size of your largest conference. Also set UserNumberBeginning so that there are no overlaps in user ranges (with either another modality or the sharer for the large conference).

  4. See Step 4 for Sharer.

  5. Set DoOutgoingCalls under BasicConversationConfiguration to false. Because these users are not doing outgoing calls, InviteUserStartIndex and InviteUserEndIndex are ignored.

IMSharers.xml

<?xml version="1.0" encoding="utf-16"?>
<GlobalConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ConfigurationModules>
    <ConfigurationModule xsi:type="CommonConfiguration">
        <TargetServer>example.contoso.com</TargetServer>
        <ServerPort>5061</ServerPort>
        <UserNamePrefix>imconf</UserNamePrefix>
        <UserGlobalPassword> </UserGlobalPassword>
        <UserNumberBeginning>0</UserNumberBeginning>
        <UserNumber>1</UserNumber>
        <TenantStartIndex>0</TenantStartIndex>
        <TenantsCount>0</TenantsCount>
        <NumberofBosses>0</NumberofBosses>
        <UserDomain>contoso.com</UserDomain>
        <AccountDomain>contoso.com</AccountDomain>
        <LoginUsingUserPrincipalName>false</LoginUsingUserPrincipalName>
        <SipAuthMethod>Kerberos</SipAuthMethod>
        <UserSignInPerSec>1</UserSignInPerSec>
        <EnableMPOP>true</EnableMPOP>
        <MPOPEndPointPercentage>50</MPOPEndPointPercentage>
        <MaxMPOPEndPointPerUser>3</MaxMPOPEndPointPerUser>
        <MediationServer>example.contoso.com</MediationServer>
        <MediationServerPort>5068</MediationServerPort>
        <GatewaySimulatorPort>5061</GatewaySimulatorPort>
        <EnableDialogDriver>false</EnableDialogDriver>
        <DialogDriverConfiguration>ConfigXMLSample.xml</DialogDriverConfiguration>
        <DialogDriverAssembly>Microsoft.Rtc.Ocps.DialogDriver, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</DialogDriverAssembly>
        <PeaksInADay>3</PeaksInADay>
        <BHCAStartTime>10:00:00</BHCAStartTime>
        <BusyHourLength>96</BusyHourLength>
        <UseTanjayUserAgent>false</UseTanjayUserAgent>
        <UserGlobalPin>123</UserGlobalPin>
        <SeedValueForRandomGenerator>50000</SeedValueForRandomGenerator>
        <EnableSipCompression>true</EnableSipCompression>
        <EnableSessionTimer>false</EnableSessionTimer>
        <SignoutsInADay>2</SignoutsInADay>
        <SessionLogoutTime>7:00:00</SessionLogoutTime>
        <SignInDelayInHoursPostLogout>4</SignInDelayInHoursPostLogout>
        <PercentageOfUsersEnabledForSessionTimer>70</PercentageOfUsersEnabledForSessionTimer>
    </ConfigurationModule>
    <ConfigurationModule xsi:type="BasicConversationConfiguration">
        <Enabled>true</Enabled>
        <DoOutgoingCalls>true</DoOutgoingCalls>
        <TwoPartyConversationPercentage>0</TwoPartyConversationPercentage>
        <StaticConferencePercentage>0</StaticConferencePercentage>
        <ConversationsPerHour>1</ConversationsPerHour>
        <JoinConferenceByJoinLauncherPercentage>10</JoinConferenceByJoinLauncherPercentage>
        <PhoneAccessEnabledConferencePercentage>0</PhoneAccessEnabledConferencePercentage>
        <MaxNumberOfActiveSpeakersPerConversation>3</MaxNumberOfActiveSpeakersPerConversation>
        <InviteUsersInContactList>false</InviteUsersInContactList>
        <InviteUserStartIndex>1</InviteUserStartIndex>
        <InviteUserEndIndex>250</InviteUserEndIndex>
        <SendInvitesToUsersSequentially>true</SendInvitesToUsersSequentially>
        <EnableIMMessages>true</EnableIMMessages>
        <AcceptIncomingIM>true</AcceptIncomingIM>
        <AcceptIncomingAV>false</AcceptIncomingAV>
        <AcceptIncomingAppSharing>false</AcceptIncomingAppSharing>
        <ImCallPercentage>100</ImCallPercentage>
        <AVCallPercentage>0</AVCallPercentage>
        <AppSharingCallPercentage>0</AppSharingCallPercentage>
        <DataMCUCallPercentage>0</DataMCUCallPercentage>
        <CWAAppSharingViewerPercentage>0</CWAAppSharingViewerPercentage>
        <RestartAppSharingPlayerTimeInSeconds>680</RestartAppSharingPlayerTimeInSeconds>
        <DisplayAppSharingView>false</DisplayAppSharingView>
        <ConversationLengthInSec>3600</ConversationLengthInSec>
        <AdHocConversationCreation>false</AdHocConversationCreation>
        <EnableMuteUnmute>false</EnableMuteUnmute>
        <MuteAllByPresenterInSec>0</MuteAllByPresenterInSec>
        <SelfUnmuteByParticipantsPercentage>0</SelfUnmuteByParticipantsPercentage>
        <SelfUnmuteByParticipantsInSec>0</SelfUnmuteByParticipantsInSec>
        <TopOfHourConversation>false</TopOfHourConversation>
        <NormalConversationCreationInterval>60</NormalConversationCreationInterval>
        <NormalConversationCreationVariance>60</NormalConversationCreationVariance>
        <IMMessagesSentPerMinute>2</IMMessagesSentPerMinute>
        <KeystrokeInfoPerIMMessage>3</KeystrokeInfoPerIMMessage>
        <AverageOrganizerJoinConferenceDelayInSec>30</AverageOrganizerJoinConferenceDelayInSec>
        <OrganizerDelayJoinConferencePercentage>0</OrganizerDelayJoinConferencePercentage>
        <ParticipantJoinTimeInSeconds>300</ParticipantJoinTimeInSeconds>
        <SmallConferenceSize>3</SmallConferenceSize>
        <MediumConferenceSize>5</MediumConferenceSize>
        <LargeConferenceSize>10</LargeConferenceSize>
        <LargestConferenceSize>250</LargestConferenceSize>
        <SmallConferencePercentage>0</SmallConferencePercentage>
        <MediumConferencePercentage>0</MediumConferencePercentage>
        <LargeConferencePercentage>0</LargeConferencePercentage>
        <LargestConferencePercentage>100</LargestConferencePercentage>
        <AudioFileSourceName>audio.wma</AudioFileSourceName>
        <AppSharingFileSourceName>Output000.rrr</AppSharingFileSourceName>
        <LobbyConferencePercentage>0</LobbyConferencePercentage>
        <LobbyTimeoutInSec>300</LobbyTimeoutInSec>
        <LobbyParticipantToAdmitPercentage>80</LobbyParticipantToAdmitPercentage>
        <CollabPackageFileName>basicppt-ocp.zip</CollabPackageFileName>
        <CollabPackageFileTitle>title.pptx</CollabPackageFileTitle>
        <FlipRateInSec>60</FlipRateInSec>
        <IMFile>Message.xml</IMFile>
    </ConfigurationModule>
    <ConfigurationModule xsi:type="BasicPresenceConfiguration">
        <Enabled>true</Enabled>
        <EnableGetPresence>true</EnableGetPresence>
        <EnableUserRangeForGetPresence>false</EnableUserRangeForGetPresence>
        <GetPresenceUserStartIndex>0</GetPresenceUserStartIndex>
        <GetPresenceUserEndIndex>0</GetPresenceUserEndIndex>
        <EnableSubscriptionForAllContacts>true</EnableSubscriptionForAllContacts>
        <PercentageOfEndpointsAlwaysOnline>0</PercentageOfEndpointsAlwaysOnline>
        <GetPresenceCallsPerHour>40</GetPresenceCallsPerHour>
        <GetPresenceTargetLow>2</GetPresenceTargetLow>
        <GetPresenceTargetHigh>6</GetPresenceTargetHigh>
        <GetPresenceTargetCacheSize>200</GetPresenceTargetCacheSize>
        <GetPresenceTargetBatchSize>5000</GetPresenceTargetBatchSize>
        <EnableChangePresence>true</EnableChangePresence>
        <ChangePresencePerHour>3</ChangePresencePerHour>
        <ChangeCalendarStatePerUserPerDay>6</ChangeCalendarStatePerUserPerDay>
        <EnableShortSubscriptions>false</EnableShortSubscriptions>
        <ShortSubscriptionsPerHourPerUser>0</ShortSubscriptionsPerHourPerUser>
        <ShortSubscriptionsTargetLow>0</ShortSubscriptionsTargetLow>
        <ShortSubscriptionsTargetHigh>0</ShortSubscriptionsTargetHigh>
        <ShortSubscriptionAverageTimeInSeconds>0</ShortSubscriptionAverageTimeInSeconds>
    </ConfigurationModule>
</ConfigurationModules>
</GlobalConfiguration>

IMViewers.xml

<?xml version="1.0" encoding="utf-16"?>
<GlobalConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ConfigurationModules>
    <ConfigurationModule xsi:type="CommonConfiguration">
        <TargetServer>example.contoso.com</TargetServer>
        <ServerPort>5061</ServerPort>
        <UserNamePrefix>imconf</UserNamePrefix>
        <UserGlobalPassword> </UserGlobalPassword>
        <UserNumberBeginning>1</UserNumberBeginning>
        <UserNumber>250</UserNumber>
        <TenantStartIndex>0</TenantStartIndex>
        <TenantsCount>0</TenantsCount>
        <NumberofBosses>0</NumberofBosses>
        <UserDomain>contoso.com</UserDomain>
        <AccountDomain>contoso.com</AccountDomain>
        <LoginUsingUserPrincipalName>false</LoginUsingUserPrincipalName>
        <SipAuthMethod>Kerberos</SipAuthMethod>
        <UserSignInPerSec>1</UserSignInPerSec>
        <EnableMPOP>true</EnableMPOP>
        <MPOPEndPointPercentage>50</MPOPEndPointPercentage>
        <MaxMPOPEndPointPerUser>3</MaxMPOPEndPointPerUser>
        <MediationServer>example.contoso.com</MediationServer>
        <MediationServerPort>5068</MediationServerPort>
        <GatewaySimulatorPort>5061</GatewaySimulatorPort>
        <EnableDialogDriver>false</EnableDialogDriver>
        <DialogDriverConfiguration>ConfigXMLSample.xml</DialogDriverConfiguration>
        <DialogDriverAssembly>Microsoft.Rtc.Ocps.DialogDriver, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</DialogDriverAssembly>
        <PeaksInADay>3</PeaksInADay>
        <BHCAStartTime>10:00:00</BHCAStartTime>
        <BusyHourLength>96</BusyHourLength>
        <UseTanjayUserAgent>false</UseTanjayUserAgent>
        <UserGlobalPin>123</UserGlobalPin>
        <SeedValueForRandomGenerator>50000</SeedValueForRandomGenerator>
        <EnableSipCompression>true</EnableSipCompression>
        <EnableSessionTimer>false</EnableSessionTimer>
        <SignoutsInADay>2</SignoutsInADay>
        <SessionLogoutTime>7:00:01</SessionLogoutTime>
        <SignInDelayInHoursPostLogout>4</SignInDelayInHoursPostLogout>
        <PercentageOfUsersEnabledForSessionTimer>70</PercentageOfUsersEnabledForSessionTimer>
    </ConfigurationModule>
    <ConfigurationModule xsi:type="BasicConversationConfiguration">
        <Enabled>true</Enabled>
        <DoOutgoingCalls>false</DoOutgoingCalls>
        <TwoPartyConversationPercentage>0</TwoPartyConversationPercentage>
        <StaticConferencePercentage>10</StaticConferencePercentage>
        <ConversationsPerHour>1</ConversationsPerHour>
        <JoinConferenceByJoinLauncherPercentage>10</JoinConferenceByJoinLauncherPercentage>
        <PhoneAccessEnabledConferencePercentage>0</PhoneAccessEnabledConferencePercentage>
        <MaxNumberOfActiveSpeakersPerConversation>3</MaxNumberOfActiveSpeakersPerConversation>
        <InviteUsersInContactList>true</InviteUsersInContactList>
        <InviteUserStartIndex>0</InviteUserStartIndex>
        <InviteUserEndIndex>0</InviteUserEndIndex>
        <SendInvitesToUsersSequentially>true</SendInvitesToUsersSequentially>
        <EnableIMMessages>true</EnableIMMessages>
        <AcceptIncomingIM>true</AcceptIncomingIM>
        <AcceptIncomingAV>false</AcceptIncomingAV>
        <AcceptIncomingAppSharing>false</AcceptIncomingAppSharing>
        <ImCallPercentage>100</ImCallPercentage>
        <AVCallPercentage>0</AVCallPercentage>
        <DataMCUCallPercentage>0</DataMCUCallPercentage>
        <AppSharingCallPercentage>0</AppSharingCallPercentage>
        <CWAAppSharingViewerPercentage>0</CWAAppSharingViewerPercentage>
        <RestartAppSharingPlayerTimeInSeconds>680</RestartAppSharingPlayerTimeInSeconds>
        <DisplayAppSharingView>false</DisplayAppSharingView>
        <ConversationLengthInSec>3600</ConversationLengthInSec>
        <AdHocConversationCreation>false</AdHocConversationCreation>
        <EnableMuteUnmute>false</EnableMuteUnmute>
        <MuteAllByPresenterInSec>0</MuteAllByPresenterInSec>
        <SelfUnmuteByParticipantsPercentage>0</SelfUnmuteByParticipantsPercentage>
        <SelfUnmuteByParticipantsInSec>0</SelfUnmuteByParticipantsInSec>
        <TopOfHourConversation>false</TopOfHourConversation>
        <NormalConversationCreationInterval>60</NormalConversationCreationInterval>
        <NormalConversationCreationVariance>60</NormalConversationCreationVariance>
        <IMMessagesSentPerMinute>2</IMMessagesSentPerMinute>
        <KeystrokeInfoPerIMMessage>3</KeystrokeInfoPerIMMessage>
        <AverageOrganizerJoinConferenceDelayInSec>30</AverageOrganizerJoinConferenceDelayInSec>
        <OrganizerDelayJoinConferencePercentage>0</OrganizerDelayJoinConferencePercentage>
        <ParticipantJoinTimeInSeconds>300</ParticipantJoinTimeInSeconds>
        <SmallConferenceSize>3</SmallConferenceSize>
        <MediumConferenceSize>5</MediumConferenceSize>
        <LargeConferenceSize>10</LargeConferenceSize>
        <LargestConferenceSize>250</LargestConferenceSize>
        <SmallConferencePercentage>85</SmallConferencePercentage>
        <MediumConferencePercentage>10</MediumConferencePercentage>
        <LargeConferencePercentage>5</LargeConferencePercentage>
        <LargestConferencePercentage>0</LargestConferencePercentage>
        <AudioFileSourceName>audio.wma</AudioFileSourceName>
        <AppSharingFileSourceName>Output000.rrr</AppSharingFileSourceName>
        <LobbyConferencePercentage>0</LobbyConferencePercentage>
        <LobbyTimeoutInSec>300</LobbyTimeoutInSec>
        <LobbyParticipantToAdmitPercentage>80</LobbyParticipantToAdmitPercentage>
        <CollabPackageFileName>basicppt-ocp.zip</CollabPackageFileName>
        <CollabPackageFileTitle>title.pptx</CollabPackageFileTitle>
        <FlipRateInSec>60</FlipRateInSec>
        <IMFile>Message.xml</IMFile>
    </ConfigurationModule>
    <ConfigurationModule xsi:type="BasicPresenceConfiguration">
        <Enabled>true</Enabled>
        <EnableGetPresence>true</EnableGetPresence>
        <EnableUserRangeForGetPresence>false</EnableUserRangeForGetPresence>
        <GetPresenceUserStartIndex>0</GetPresenceUserStartIndex>
        <GetPresenceUserEndIndex>0</GetPresenceUserEndIndex>
        <EnableSubscriptionForAllContacts>true</EnableSubscriptionForAllContacts>
        <PercentageOfEndpointsAlwaysOnline>0</PercentageOfEndpointsAlwaysOnline>
        <GetPresenceCallsPerHour>40</GetPresenceCallsPerHour>
        <GetPresenceTargetLow>2</GetPresenceTargetLow>
        <GetPresenceTargetHigh>6</GetPresenceTargetHigh>
        <GetPresenceTargetCacheSize>200</GetPresenceTargetCacheSize>
        <GetPresenceTargetBatchSize>5000</GetPresenceTargetBatchSize>
        <EnableChangePresence>true</EnableChangePresence>
        <ChangePresencePerHour>3</ChangePresencePerHour>
        <ChangeCalendarStatePerUserPerDay>6</ChangeCalendarStatePerUserPerDay>
        <EnableShortSubscriptions>false</EnableShortSubscriptions>
        <ShortSubscriptionsPerHourPerUser>0</ShortSubscriptionsPerHourPerUser>
        <ShortSubscriptionsTargetLow>0</ShortSubscriptionsTargetLow>
        <ShortSubscriptionsTargetHigh>0</ShortSubscriptionsTargetHigh>
        <ShortSubscriptionAverageTimeInSeconds>0</ShortSubscriptionAverageTimeInSeconds>
    </ConfigurationModule>
</ConfigurationModules>
</GlobalConfiguration>