Lync stress test guide v2.0 (ebook)

  • 1,456 views
Uploaded on

The technical level of this document is 300. …

The technical level of this document is 300.
This article requires knowledge about Microsoft Performance Monitor, Lync Monitoring, Hardware SPEC’s and Consulting.



Building the Test User Scenario, requires full understand of each Lync feature and how user will utilize those feature. Please also carefully understand the Lync PSTN Gateway Simulator. The Simulator must be provide with correct Dial-Plans, Voice Policy and Voice Routes.



You also need to understand the Lync User Provisioning Tool and how to design the Stress Test Scenarios.



Note:
This document is neither a sizing nor a configuration guide. You should use this document only for your environment planning’s purposes and security considerations. In lager environments you should spend some time to evaluate the optimal path of your Lync deployment.

Table of Content:

Introduction 4
The Calculation Process (I can recommend to you): 6
Build the Stress Test Lab 7
The Stress Test Process: 9
The Validation Process: 11
User Provisioning Tool 12
Setup User Provisioning Tool 13
User Creation 13
Contacts Creation 14
Distribution List Creation 15
Location Info Service Config 16
Run Configuration Scripts 18
Stress Test Simulations 20
User Profile Generator 20
Common Configuration 21
General Scenario 23
Voice Scenario 34
Reach Scenario 49
Mobility Scenario 52
Summary (Important User Load definition) 54
Table of Figures 58



Author: Thomas Poett MVP, Managing Consultant Microsoft Unified Communication

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,456
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
48
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Lync Stress Test How too Setup and Configure © 2014, Thomas Pött, Microsoft MVP Lync
  • 2. Lync Stress Test – How Too, Setup and Configuration © 28.06.2014, Thomas Pött, Microsoft MVP Lync and PLSL 3rd level Support certified. Version 2.0 Introduction............................................................................................................................................. 4 The Calculation Process (I can recommend to you):............................................................................... 6 Build the Stress Test Lab .................................................................................................................................... 7 The Stress Test Process: .......................................................................................................................... 9 The Validation Process: ......................................................................................................................... 11 User Provisioning Tool........................................................................................................................... 12 Setup User Provisioning Tool ........................................................................................................................... 13 User Creation............................................................................................................................................... 13 Contacts Creation ........................................................................................................................................ 14 Distribution List Creation............................................................................................................................. 15 Location Info Service Config ........................................................................................................................ 16 Run Configuration Scripts................................................................................................................................. 18 Stress Test Simulations.......................................................................................................................... 20 User Profile Generator ..................................................................................................................................... 20 Common Configuration ............................................................................................................................... 21 General Scenario ......................................................................................................................................... 23 Voice Scenario ............................................................................................................................................. 34 Reach Scenario ............................................................................................................................................ 49 Mobility Scenario......................................................................................................................................... 52 Summary (Important User Load definition) ................................................................................................ 54 Table of Figures ........................................................................................................................................... 58
  • 3. The technical level of this document is 300. This article requires knowledge about Microsoft Performance Monitor, Lync Monitoring, Hardware SPEC’s and Consulting. Building the Test User Scenario, requires full understand of each Lync feature and how user will utilize those feature. Please also carefully understand the Lync PSTN Gateway Simulator. The Simulator must be provide with correct Dial-Plans, Voice Policy and Voice Routes. You also need to understand the Lync User Provisioning Tool and how to design the Stress Test Scenarios. Note: This document is neither a sizing nor a configuration guide. You should use this document only for your environment planning’s purposes and security considerations. In lager environments you should spend some time to evaluate the optimal path of your Lync deployment. Author: Thomas Poett MVP, Managing Consultant Microsoft Unified Communication Support and consultancy services: I’m able to provide you with the services required for stress test and the necessary analysis. If you like to get this support, please login to my blog: http://lyncuc.blogspot.com and use the contact form provided on the right side of my blog.
  • 4. Introduction Since Microsoft released Lync Server 2013, there was one change in the planning document. No detailed SPECs were released so you could exactly calculate your server performance requirements. Truly, there is the performance calculation sheet which provides you with a rough overview. For this entire process you need the following tools and documents:  Lync Server 2013 Capacity Calculator  Lync Server 2013 Stress Testing Guide  Lync Server 2013 Stress and Performance Tool  Key Health Indicators: The Foundation for Maintaining Healthy Lync Servers  Planning a Lync Server 2013 Deployment on Virtual Servers  Lync Call Quality Methodology poster  Lync KHI Poster  Lync Server Networking Guide V2.2 I provide you with the minimum set of Lync KHI Performance Counter: Download here Note: The XML I have provide contains a consolidated Lync Frontend installation entirely on drive C: with 6 CPU core. If you have another setup, please add more CPU counter and if the SQL Server is installed on drive D:, please also add the I/O counters for this drive too. But generally the server hardware requirements are physically and virtually the same: Front End, Back End, Standard Edition, pChat - Server Component Minimum requirements CPU 2x64 bit CPU with 6 Core (also if virtualized) Memory 32 GB Disk 2x RAID 1 min. 72GB1[1] free space 6x RAID 10 for SQL databases Network 1x Dual-Port network card with min. 1GBit/Sec If teaming is activated, unique MAC address must be used 1[1] It is required having at least 20GB free disk space after installation, else it might have a serious impact during update and CU installations, this is related to the local SQL database copies.
  • 5. Edge, Standalone Mediation – Server and Director, Office Web Apps Component Minimum requirements CPU 64 bit CPU and min. 4 Core (also if virtualized) Memory 16 GB Disk Mind. RAID 6 Performance with min. 72GB free space Network 1x Dual-Port network card with min. 1GBit/Sec If teaming is activated, unique MAC address must be used This general definition for your hardware is simply not enough if you design your environment. There are some questions you need to answer to your customers: - how can I guarantee the hardware performance on virtual environments - how does Lync impact our SAN - if we don't utilize the max user, how and can I reduce CPU's and RAM, or even the SQL Disk I/O's Here you stand as consultant and don't know what to say. E.g. the supportability matrix give you a clear answer, design the server as provided in the requirement document. So, say you have 3 Frontend servers as recommended for High Availability (HA), but you only run 1.000 users. This would be a complicated answers, since you simply cannot know the answer, as it was possible with Lync 2010, since you had more information how to calculate.
  • 6. The Calculation Process (I can recommend to you): Lync server load highly depends on the user profile! Talk to your customer and figure out what is the main purpose and how in the past users utilized Voice (PSTN and PBX) Analyze the Video utilization, also and especially the AppSharing (this is video data too) Start using the Lync Server 2013 Capacity Calculator. With the results popping up you need to reverse engineer the capacity needed on your servers. Finally you found some SPEC's, but you need (better say: MUST) validate them if you are not using the exact SPEC provided in the tables above. Just to remember, a Mediation Server handles up to 600 concurrent call. If you have designed a poll of Mediation Server, ensure if one fails or has to be updated, the left Mediation Server can support the amount of call you have calculated. While you run your test, there are two more things you MUST put into consideration. 1. HA – Server Failure/ Downtime 2. Backup Pools (Disaster Recovery) and Voice Resiliency and Survival Branch Appliances What does this mean? If a Server in a Pool either the Frontend or a Mediation Server goes down, you need to ensure the left server can support the load. So with your Stress Test Scenario, please only run the server count you have defined for any other server down time. Saying you have pool designed with 3 Frontend server, the test should only run on 2 Frontend Server. The same is valid if you have a DR scenario, e.g. a Backup Pool, where on each Pool 5.000 user are concurrently running. You test scenarios must then be able to support concurrently 10.000 users. This is due to an estimated pool failure, where all user are served on this last running systems.
  • 7. Build the Stress Test Lab Microsoft provides a very good and detailed description of their test environment setup. What I like to repeat in this chapter it the generic principals, so you get close the common understanding of how the test should be applied. Regardless how many pools or SBA you have in your environment, you can only test a single pool with the standard procedure. If you need to test more, you need to do some modification to all test files and profiles you generate. Defining the range of users and stress test clients assign to each of the pools. Coming back to my test setup. I define single Edge Pool incl 2 Servers, single Frontend Pool with 3xFE incl Mediation Server. 1x external and 2x internal Stress Test Client. External Client PSTN Simulator Internal Client Figure 1: Stress Test illustration
  • 8. In a virtual environment, I ensure the Stress Test Client cannot run on the same physical host and storage as the Lync servers do. Additionally we ensure the physical host running the stress test components, is capable of delivering the power necessary stressing the “real” environment. For better illustration, please refer the picture below. External Client PSTN Simulator Internal Client Hyper-V Figure 2: Virtual Stress Test Machine placing
  • 9. The Stress Test Process: Please use the Stress Test Guide from Microsoft and setup the environment in a Test Lab first. It simple even on physical, as well as on virtual environment. Some recommendations from my experiences: 1. The Stress Client SPEC's are not sufficient as Microsoft wrote, please use here more CPU's, at least the double amount. 2. Split the Test across 3 Stress Clients, Stress Test Client 1: All IM, APPClients and Conferences Stress Test Client 2: all Reach Client features Stress Test Client 3: all PSTN functions (PSTN Gateway Simulator), here you might need more clients, since the PSTN Simulator can only provide one (1) gateway on a PC (Maybe so need more clients than listed here!) 3. Run a Pre-Test, where you closely monitor you client performances, especially the CPU after the so call RAMP UP TIME 4. Check if information are written to the Lync Monitoring Database (validate the reports) 5. Re-balance some of you Test Scenarios and run the Step 3 again if necessary 6. Start the Main Stress Test now Now it's time for the core test itself. Ensure you either monitor the KHI on a dedicated machine or on the Lync server themselves. Please do NOT use any of the Stress Test Clients! I have provided you with the Performance Monitor Data Collection. Make sure you see some results during Step 3. Figure 3: KHI for Stress Test
  • 10. If you should require more data, well Microsoft has the CQM (Call Quality Monitoring). Here are all Performance Counter defined MSFT and we as certified Support Partner use for the initial RaaS services. So if you need to validate really everything. Please download the entire ZIP and install them. Figure 4: All KHI based on RaaS
  • 11. The Validation Process: Now you have all results necessary to write your report and even see you underestimated the server load ;) Get the Performance Data and see if any of the counters above did jump above some of the provided counters for a longer periods of time or if any of those counters jump more frequently above the thresholds. The go to the Lync Monitoring Reporting and validate all Failure Reports (related to the test you have ran). I also recommend checking the Lync Server Eventlogs. With the collection and analysis of all data write your own validation paper to the customer. NOTE: If you need help, don't hesitate asking me for help, I can provide you professional service and do the write-up for you. Use the contact app on the right side of my blog.
  • 12. User Provisioning Tool Before we can start planning and configuring the entire Stress Test, we need USERs and CONTACTs ready for Lync. Since this is task we can also automate, not only via any manual script, Microsoft proved the User Provisioning Tool. The tool could be found here: C:Program FilesMicrosoft Lync Server 2013LyncStressAndPerfToolLyncStressUserProvisioningTool.exe Figure 5: UserProvisioningTool - Location INFO: Best is, if you start the TOOL as administrator. The UPT provides 4 sections where we can configure all possible user involvement and object necessary for a real Lync environment. The possible objects are:  User  Contacts  Distribution Lists  Location Information Service (LIS) While the count of users should be mostly close the expected Lync activated users you environment should support, plus the estimated number of growth. The contact are different from AD or Exchange contact. In content with Lync, contact are the Lync Buddies, so how many UC enabled buddies you will estimate each Lync enabled user might have. Even here you have different type of user in Lync utilizing the contact list in different ways. SO you need to figure out the average! The rest I explain in each of its associated section later in this documents. All of those 4 option can be run individually, meaning, you can start running the scripts behind after you configured all properties in each individual section. Note: If you need to redeploy Lync user, please use the delete button and don’t do so manually. It here much faster and more reliable.
  • 13. Setup User Provisioning Tool This section guides you through the entire creation process with all possible options. If there are e.g. phone number or similar, I urge you not changing those numbers. Since this is a mostly complex and predefined scenario and you want to validate the max load on your servers, it is not made validating your Topology configuration. In other words, if you leave the most parameter untouched, you will encounter less issues during the test setup. User Creation Users are the AD users, activated for Lync, with all possible feature, meaning including Enterprise Voice, if you enabled them here. If you do not enable user for EV, you are unable running the PSTN/ Voice tests. The illustration below shows you all possible option for your user creation. You will also see, if you have an environment with multiple POOLs and or SBA’s, the tool is NOT designed validating all of your setup at the same time. If you need to do so, you must create multiple users configuration and run multiple test scenarios! Keep this in mind. Also if you run multiple target instances, please use different UserNamePrefixes and PhoneAreCode. (As you now understand, this scenario I much complex and will not really deliver you any better result) The Number of Users should match the initial real user count + the expected customer growth. With the Start Index, I recommend starting NOT with “0”, better e.g. you have 20.000 test user, and start set the Start Index to: “10000”, so the user are proper numbered, e.g. TestUSR10000-TestUSR20000 and they are in order. Figure 6: UserProvisioningTool – User Creation
  • 14. Contacts Creation Here you will beat two flies with one slap. The users buddy list and the federated users/ cross pool contacts. What does this mean? Federation is still clear I guess, so users with are NOT homed with in your Lync environment. But Cross Pool User? Well this is so clearly described, but meaning you could add users to your buddy list either looking external or you have simple configured users on an additional pool you have setup. Example: You second pool you have is: cie-lyncpoolfed.cie.int and you have used the tool before, creating user on this pool but with another, secondary SIP domain: federation.internal (DNS). Than within you contact list also user will be found hosted on the other pool. But you need to set the Percentage number box, e.g. to 10% or similar. What does the “Fixed” checkbox mean? Here you can either generate contact list (buddies) with have for all users the exact same count of contact, or you can let the tool allow variations. So here it is recommended to uncheck this box. As we have all seen with our own Lync client, we can define groups within the Lync client, this option is meant with Groups per User. So I suggest 5 is good value. Figure 7: UserProvisioningTool – Contact Creation
  • 15. Distribution List Creation In Active Directory we can and should define groups (Distribution Groups). Those groups are used to invite a bunch of user into conferences. Therefore it is a necessary test for the Distribution Groups Expansion Service! Figure out a balance scenario coming close to the real environment at your customer. Figure 8: UserProvisioningTool – Distribution List Creation
  • 16. Location Info Service Config In this section, I don’t want to explain how the LIS is working in Lync. Please refer to my blog: http://lyncuc.blogspot.de/2012/07/location-information-service-lis-lync.html This article provide the necessary information how this will work. Here and I mostly recommend LIS, not only for E.911, but also for automatic identification of user locations. This is very helpful, if you are aware where the user is right now, even e.g. in which Wifi area. The LIS has to be configured in Lync and this tool is NOT doing it for your, rather it provides you with necessary configuration batches. In this demo setup for LIS, I provide you a quick inside view of all write config files. Figure 9: UserProvisioningTool – LIS Configuration
  • 17. After you started the file generation process, if prompts you where to find those files: Figure 10: UserProvisioningTool – Setup file for LIS Here they are: Figure 11: UserProvisioningTool – List configuration files Now you must start the configuration process with in Lync: You will find a script which is supporting you for this process: LisConfiguration.ps1 Figure 12: UserProvisioningTool – Lync script for LIS Note: Copy all files and the script onto your Lync Frontend Server or any Workstation, where the Lync Admin Tools are installed. The script will pick up the generate CSV files within its own directory, so please care her.
  • 18. Run Configuration Scripts The good point with the Stress Test setup is, that Microsoft really provided a lot of useful tools and script helping you to setup and prepare Lync for all required configurations. In this chapter, I will to provide a simple inside view off those script and when, where or how to use them. Just remember, no everything is made for dummy users, so you should fully understand what’s going on your Lync infrastructure. This is even one point, the Stress Test Client should NOT have any Lync component installed, and therefore you should also copy the scripts and their associated files to a computer where the Lync Admin Tool are installed. This includes the WMA files too! Location: “C:Program FilesMicrosoft Lync Server 2013LyncStressAndPerfToolDoc” NOTE: (Microsoft wrote the following) # The following script is an example of configuring Lync 2013 Server for running Lync 2013 Load Simulation. The script needs to be modified to match the actual parameters of the Lync 2013 Deployment. The example is not intended as an example of all the features of the component rather an example of how Lync 2013 Server can be configured to run Lync 2013 Server Stress and Performance Tool for a specific component. SCRIPT Description ArchivingPolicy.ps1 Set the time for Archiving and CDR data to be purged after 3 and 7 days. Necessary not leaving more data than necessary in your backend database BandwidthPolicy.ps1 Only enable the bandwidth policy within Lync. You need to actually write/ configure bandwidth policy first before this script take any action CallParkConfiguration.ps1 The CPO needs to be activate, if the CPO should be tested during the stress test. This script delete all existing configuration and replace the orbit with call park number 1000-1500 ConferenceAutoAttendant Configuration.ps1 A huge configuration will take place here: Anonymous participant can join conferences and the Global Dial Plan will be set to the Dialin Conferencing Region “US West Cost” and a CAA with -LineUri tel:+11121111111 ContactsPolicy.ps1 Change the contact list maximum to 1.000 FederationPolicy.ps1 Activate Anonymous user access, remote access and federated access, as well as you need manually change: New-CSAllowedDomain -Domain "alloweddomain.com" - ProxyFqdn "edgeproxy.mycload.ag" -MarkForMonitoring 0 LisConfiguration.ps1 I described this more detailed in the LIS chapter of this document MeetingPolicy.ps1 Set’s mostly all meeting configuration parameter to $TRUE ResponseGroup Conifguration.ps1 Either you setup the RSG manually or you need to modify this script carefully according the UserProvisioningTool. You need to know your USER Prefix, RGSGroup Name.
  • 19. Note: You might need running this script a few times before you got it right. So careful and understand your RGS requirements first! RoutingGroupRules.ps1 Please read the chapter: VOICE SCENARIO I have explained in very detail how this is working. And it is complex! Note: As you see the script change massively the Lync configuration. If you do this in live environment, please be aware you would need reset the configuration after a test. So better NOT using your “Live Environment”.
  • 20. Stress Test Simulations The stress test itself will be initiated with support of the generated scenarios I’ll describe in this chapter. Every individual test (load) can be run on a separate entity (PC). All those have to be load with the LyncPerfTool.exe. As I don’t want to rewrite the Microsoft guide provided, I more focus on the individual stress tests themselves. Please read the Lync Stress 2013 Test Guide.docx NOTE: First take you time, adjust the max Client Port with the provided Reg-Import Script. This is how you can control that no TCP limits are preventing you from physically generate the expected load to the Lync Server/Pool. MaxUserPorts.reg User Profile Generator After you have generated the Test User and Contact Account, we will define the entire Test Scenarios and their configuration files. You should write a test plan in a form of, which feature and with which intensity you want to test/ stress the Lync environment. Remember, but it should be at least stress the system with the same performance you expect from your former calculations. Therefor the UserProfileGenerator will let us chose and define those tests. It has the possibility to use “predefined” test loads or even make it available for yourself to define the exact test behavior.
  • 21. Common Configuration You will be logically guide through the entire setup, starting with the environment information, e.g. user prefix, password and Lync server. Beside this information, the first parameter defines the number of test clients used. The minimum is 2 client. What this parameter is doing, is quite simple, it separated the Run Batch Files into parts which can then be copied to the stress test client. Since you are also able running the test and manually, you can chose by yourself which client should run which test, when and where. But keep in mind, the important Test is the IM, so the clients/ users are login. Figure 13: Load Configuration Tool – Common Configuration
  • 22. As you have defined the user prefix number (start range), you can define which user should participate in this stress test, therefor the Start Index and the Number of User need to be provided. Saying, you started the provisioning tool with TestUSR10000-TestUSR30000, you can run the test e.g. in this range: TestUSR10000-TestUSR20000. The parameter you need to provide is User Start Index:10000 and Number of Users:10000 Important parameter MPOP: As we analyzed before, users can login with e.g. Desk Phones, Mobile Phones, Lync Client and more other devices. Here you must first go back to your initial calculation and have a look into your calculations, where you defined the estimated concurrent user logon. Sign-In Per Second: This parameter is for advanced adjustments. Each instance (an instance is the activated Stress Test component) will generate login requests, those frequency can be change to a higher one. Be careful with this parameter, since it can change the out coming result dramatically. External Edge Server Testing: The test should be as authentic as possible. But how to archive this. It is necessary simulating access via the edge server too. This is why you find the External Network Server Settings. As described in Microsoft guide, you see Stress Test Client positioned outside, meaning close by the Edge Server. As the tool need the access component given for login, you will and have to do so here.
  • 23. General Scenario Starting first, we run through the non-Enterprise Voice test scenarios. Those are differentiate into the following Test Scenarios. Each of those tests will be provided later with an individual batch file.  Instant Messaging and Presence  Audio Conferencing while the title includes “audio”, choosing this option will also simulate Video conferencing  Application Sharing  Data Collaboration  Distribution List Expansion  Address Book Web Query  Response Group Service  Location Information Services Figure 14: Load Configuration Tool – General Scenarios
  • 24. All batches have drop box where you decide how intense the stress test should run (stress the system. This are preconfigured and associated test along with Microsoft’s idea of average user profiles. NOTE: The Advanced Setting are always the same, regardless if you have set the profile to LOW or HIGH. BUT: only some setting will be used if you have set the CUSTOM option. I will highlight them in BOLD. Else all parameter are active and as they are provided! The first 4 batches have additional options which I’m going to explain here: External: This check box, creates a batch file which is associated with the Edge server configuration and can therefore be used on the “external” test client. Conf: This is a specialty for IM only. As we know IM is similar with P2P (well don’t get me wrong, it still must utilize the Frontend server). As IM Conference must use the IMMCU which require the communication path to be change and escalated into a conference. Adhoc: With the Test Utility, conference are planned, meaning you have Meeting ID assigned and that’s use for login purposes. The AdHoc is different, user are here instantly invited. Large Conf: Microsoft officially said large conference are bigger than 249 participants. This check box will initiate those meeting type with exact 250 user at the same time. While the last batch (LIS) can only be activated or not. As usual with the LIS server, either you will make use of this service or you leave it un-configured. Now it’s time doing the interesting stuff. We have configured the initial task setup and will now need managing the core services. Advanced TAP: Important note and what to remember. The Advanced Tap let you do the “fine” tuning of all tests under the circumstances of the option: CUSTOM. One behavior of the Load Configuration Tool is not so obvious, so you need to get used to this. The Advance Tap comes FIRST with the initial service (test) setup parameter, than, depending on the additional option you have chosen, e.g. External, Conf, Adhoc or Large Conf, with additional
  • 25. TAP’s, after you pressed the CLOSE BUTTON. Those Tap are not easy recognizable. I try to put a little light on this in each section. Instant Messaging and Presence Upfront, Instant Messaging has two interesting aspect. Beside the IM feature, it also initiate client logon’s. You can see this if you run the netstat –ano command on the Lync Frontend server while you start this task. Advanced (IM) Parameter: Tag Value Comment TwoPartyConversationPercentage 100 How many P2P conversation are created. Leave this to 100%, so all user are involved ConversationsPerHour 1 Per user IM conversation per hour InviteUsersInContactList False If the client will only invite user from the contact list ConversationLengthInSec 600 Default of 10min per conversation (IM or conference) IMMessagesSentPerMinute 0.5 Message per minute (best option is 1) ParticipantJoinTimeInSecond 300 the max time a user joins a conference is 5min after beginning EnableGetPresence True Leave $true, so the client request presence pools EnableSubscriptionForAllContacts True Send SUBSCRIP command to all contact list members (higher initial server load) GetPresenceCallPerHour 60 Active presence poll per hour ChangePersencePerHour 4 The user change the its presence per hour (normally 5-6) due to calls and manual changes ChangePresenceUserStatePercentage 13 The max % of user changing the presence (better set to 50-60%) GetPresenceTargetLow 4 Min send presence too GetPresenceTargetHigh 8 Max send presence too GetPresenceTargetCacheSize 50 Caching the presence status GetPresenceTargetBatchSIze 1000 How many state to be cached EnableChangePresence True If presence can be change through the test client (as impact to other presence configs) ChangeCalendarStatePerUserPerDay 6 Estimated appointments in a outlook calendar PublishCalendarDatePerUserPerDay 3 Update information based on outlook information EnableShortSubscriptions2 True ShortSubscriptionsPerHourPerUser 4 ShortSubscriptionsTargetLow 1 ShortSubscriptionsTargetHigh 5 ShortSubscriptionAverageTimeInSec 550 2 If its left empty: I could not figure out its function
  • 26. AddDeleteContactPerUserPerDay 0 If test client actively change the contact list, External Parameter Tag Value Comment TwoPartyConversationPercentage 90 If an external test client is available, validating the P2P IM session via EDGE server Conf Parameter Tag Value Comment StaticConferencePercentage 80 Static conference: is where users join directly into different conferencing (IDs) LobbyConferencePercentage 0 The presenter must apply person in the lobby (possible say 10-20%) depending on the customer behavior LobbyTimeoutInSec 300 Person is kicked out of the lobby LobbyParticipantToAdminPercentage 80 How many person may have to wait in the lobby ConversationLengthInSec 3600 Max conference length AdHocConversationCreation True Non planed conference and will start randomly SmallConferenceSize 3 Number of participants MediumConferenceSize 5 Number of participants LargeConferenceSize 9 Number of participants (please do not set lager than 250!) SmallConferencePercentage 85 How many small conference are initiated among all MediumConferencePercentage 10 How many medium conference are initiated among all LargeConferencePercentage 5 How many large conference are initiated among all Large Conf Parameter Tag Value Comment StaticConferencePercentage 0 The meeting ID is always different ParticipantJoinTimeInSeconds 600 Late join max time in sec. LargestConferenceSize 250 Max number of a large conference (do not exceed 250)
  • 27. Audio Conferencing Advanced (initial) Parameter: If the text/ explanation provided by the Stress Test Tool is sufficient, I have either copied the content or left the comment empty. Tag Value Comment HardMuteByOrganizer False Participant have mute the mic as per default (presenter enforced) StaticConferencePercentage 80 EnableMuteUnmute False If any of the mute option is activated, so the presenter will or has muted all MuteAllByPresenterInSec 60 Sec the presenter will wait before is mutes all participants LobbyConferencePercentage 25 Specifies the percentage of conferences that will admit users to a lobby, until the user or lobby times out and/or the user is admitted to the conference by the presenter LobbyTimeoutInSec 300 s.o. LobbyParticipantToAdmitPercentage 80 s.o. ConversationsPerHour 1 s.o. ConversationLengthInSec 3600 s.o. AdHocConversationCreation True s.o. ParticipantJoinTimeInSeconds 300 s.o. SmallConferenceSize 3 s.o. MultiView False Multi view is the possibility for user joining a conference from multiple endpoint. I would due to bandwidth consumption not allow this AudioStreamDirection3 Sendrecv With MUTLI-VIEW option enabled only Sending and receiving audio VideoStreamDirection4 Sendrecv With MUTLI-VIEW option enabled only Sending and receiving video and audio PanoStreamDirection5 Inactive It simulate RoundTable Cam, and the direction of the video stream NumberOfVideoChannels 5 How many video channel for sending MediumConferenceSize 5 Users in medium video conference Don’t set the value too high! LargeConferenceSize 9 s.o. SmallConferencePercentage 85 s.o. MediumConferencePercentage 10 s.o. LargeConferencePercentage 5 s.o. 3 One of the following = sendonly, recvonly, sendrecv, inactive 4 One of the following = sendonly, recvonly, sendrecv, inactive 5 One of the following = sendonly, recvonly, sendrecv, inactive
  • 28. External Parameter NO Parameter AdHoc Parameter NO Parameter Large Conf Parameter Tag Value Comment StaticConferencePercentage 0 s.o. ParticipantJoinTimeInSeconds 600 s.o. LargestConferenceSize 250 s.o.
  • 29. Application Sharing Advanced (ASSharer) Parameter: Tag Value Comment DisableAppSharingDecodingForViewers True Depends on (DisplayAppSharingView), Mean of if, if a viewer will not render the AppSharing StaticConferencePercentage 80 s.o. LobbyConferencePercentage 25 s.o. LobbyTimeoutInSec 300 s.o. LobbyParticipantToAdmitPercentage 80 s.o. ConversationsPerHour 1 s.o. DisplayAppSharingView False A bit unclear here. MSFT did wrote a full sentence. Possible it activated the App Sharing view in Lync client windows ConversationLengthInSec 3600 s.o. AdHocConversationCreation True s.o. ParticipantJoinTimeInSeconds 300 s.o. SmallConferenceSize 3 s.o. MediumConferenceSize 5 s.o. LargeConferenceSize 9 s.o. SmallConferencePercentage 85 s.o. MediumConferencePercentage 10 s.o. LargeConferencePercentage 5 s.o. It is not really clear and traceable how the App Share Decoding is working. I could not figure out what the stress test client is providing under this two settings. Maybe it’s depending on once sending and the other receiving capability. Advanced (ASViewer) Parameter: Tag Value Comment DisableAppSharingDecodingForViewers True Same as the ASViewer DisplayAppSharingView False s.o. External Parameter NO Parameter AdHoc Parameter NO Parameter Large Conf Parameter Tag Value Comment StaticConferencePercentage 0 s.o. ParticipantJoinTimeInSeconds 600 s.o. LargestConferenceSize 250 s.o.
  • 30. Data Collaboration Advanced (DataCollab) Parameter: Tag Value Comment EnableW15WACSession True You must have an office Web App Server deployed and setup in Lync topology if it’s TRUE, else it uses a legacy approach IntervalForNextUploadInMinutes 3 User with WAC the PPTX upload provided by the utility NumberOfTimesPackagesToBeUploaded 1 How often a PPTX will be uploaded DeleteCollabContentAtEndOfConference True After a conference ended, the content will be deleted ShowWhiteboardInEverySec 120 Switch to white board with in a data collab, how often will the WB provided in sec AnnotationsPerMinute 5 Annotation used in data collab and how often per minute PowerPointPercentage 100 If a data collab is with PPTX or without. Recommended to change to less than 100% WhiteBoardPercentage 0 If a white board should be included or not. Please increase to 0-5% which is a normal use StaticConferencePercentage 80 s.o. LobbyConferencePercentage 25 s.o. LobbyTimeoutInSec 300 s.o. LobbyParticipantToAdmitPercentage 80 s.o. FlipRateInSec 60 How often the presenter will change, so flipping the side of presentation ConversationsPerHour 1 (custom) data collab per user per hour ConversationLengthInSec 3600 How long a data collab will be established? Care here about the load on the test client AdHocConversationCreation True Parameter for randomly establish data collab. Not only planned conversations ParticipantJoinTimeInSeconds 300 s.o. SmallConferenceSize 3 s.o. MediumConferenceSize 5 s.o. LargeConferenceSize 9 s.o. SmallConferencePercentage 85 s.o. MediumConferencePercentage 10 s.o. LargeConferencePercentage 5 s.o. External Parameter NO Parameter AdHoc Parameter NO Parameter Large Conf Parameter Tag Value Comment StaticConferencePercentage 0 s.o. ParticipantJoinTimeInSeconds 600 s.o. LargestConferenceSize 250 s.o.
  • 31. Distribution List Expansion Advanced (DLX) Parameter: Tag Value Comment DLXPrefix TestDL The Prefix defined the User Creation Tool for distribution lists DLXDomain Vdomain.com The domain name the distribution list has, e.g. mycloud.ag DLXIndexLow 0 The starting number value e.g. 0 you configured with setup tool DLXIndexHigh 100 The ending number value e.g. 0 you configured with setup tool DLXCallsPerHour 0.5 How often a user will expand a DL per hour. Mostly is quite seldom Address Book Web Query Advanced (ABWQ) Parameter: Tag Value Comment ABSQueriesPerHour 11 (custom) how often the user will query the AB MaxResultNumber 50 How may rows will be send back SearchAttributeList givenName; displayName; telephoneNumber; homePhone; otherHomePhone; mobile; otherMobile;otherTelephone; ipPhone In Lync client, the search incl. phone number and names. Here you specify the most common search objectives ReturnAttributeList givenName; displayName; mail After a match, ABWQ returns the following parameter RequestTimeout 100 Before the clients register a time in msec QueryFromDialPadPercentage 3 In percentage of queries, if a dial pad from an IP phone is used, this is number and letter at the same time QuerySuffixStartNumber 0 Based on the UPT suffix for search QuerySuffixEndNumber 80000 Based on the UPT suffix for search – end parameter QueryByPrefixPercentage 90 %of –like searches, e.g. mike for mike, mikel, mikeus… NotFoundResultsQueryPercentage 0 If a search should not end in a result. “empty search”
  • 32. LegacyEndpointsPercentage 0 If you use OSC 2007 R2 clients, that active the search here ChangeSearchPercentage 27 Searches which simulate client cache updates ChangeSearchBatchSize 25 Client cache update result line OldEntryPercentage 25 % of old, existing client cache entries PhotoSearchPercentage 27 % for photo search, if you us high resolution pic, maybe you increase the % to 45, measuring the network impact OrganizationSearchPercentage 3 Search which query the entire Org tree RenewWebTicketPercentage 100 % of WebTicket renewal on each search EnableABSDownload False Download the corp address book entirely. Leave false Response Group Service Advanced (RGSCaller) Parameter: Tag Value Comment LocationProfile Redmond Set the location profile for RGS, see the configuration script ps1 RGSUri Sip:myRgsGroup@main.com Set the RGS you have defined in the config scrip ps1 RGSUriSuffixStartIndex 0 The config script based start index of RGS (dialing range) RGSUriSuffixEndIndex 600 The config script based end index of RGS (dialing range NumberOfRGSCallsPerHour 3120 (custom) how often the RGS will be called per hour or all callers AverageCallLengthInSeconds 180 Average length of a RGS call in waiting queue before hang-up EnableRecording False If recording of RGS call is enabled. This save the recording the clients local PATH careful! RecordIntervalTimeInSeconds 60 Recording duration if enabled PercentAnonymousCallsWithIM 50 RGS call with anonymous IM
  • 33. Location Information Services Advanced (LIS) Parameter: Tag Value Comment EnableMajorEmergencies False If true, huge number of caller will call 911 during an emergency EnablePersonalEmergencies True During an personal emergency a single person will call 911 only MinSecondsBetweenMajorEmergency 3600 Simulated time distance between two emergency calls (minimum) MaxSecondsBetweenMajorEmergency 10800 Simulated time distance between two emergency calls (max.) MinCallDurationSeconds 120 911 call min duration MaxCallDurationSeconds 300 911 call max duration MinSecondsBetweenPersonalEmergency 600 Simulated time distance between two personal emergency calls (minimum) MaxSecondsBetweenPersonalEmergency 1800 Simulated time distance between two personal emergency calls (max.) MinPercentCallersInMajorEmergency 5 Min user count of 911 callers during an major emergency MaxPercentCallersInMajorEmergency 20 Max user count of 911 callers during an major emergency LisRequeryFrequencySeconds 900 Single user interval for LIS queries PercentLisQueriesFromUnknownLocation 0 % of queries without result PercentLisQueriesByMacAddress 20 % of MAC address based LIS queries EnableSnmpSimulator False Simulate SNMP queries SnmpSimulatorPort 9990 SNMP simulator port SnmpAverageResponseTimeInMs 0 SNMP response time in msec SnmpBadResponsePercentage 0 Malformed SNMP response SnmpNoResponsePercentage 0 Timeout for responses between queries, where simulator do not answer
  • 34. Voice Scenario As we all know, the Enterprise Voice Setup can be complex, especially if you are not familiar with how voice, voice usage, voice policies and voice routing is working. This also includes the Dial-Plans. I will help you setting up the PSTN Simulator. There are some edge data you need understand. The PSTN Simulator sends and receives PSTN call, mean of is, it is use the Mediation Server (component), either consolidated on the Frontend or as a standalone pool. The PSTN Simulator cannot utilize more than one (1) Mediation Pool. The load on this Stress Test PC must also be closely monitored. Setup PSTN Simulator First, after the Stress Test Tool is installed, we configure the Enterprise Voice Test scenario. Personally I recommend a test with is closely to the estimated external Calls made. Figure 15: Load Configuration Tool – Voice Scenarios You will configure the UC/PSTN Gateway first. Here the best-practice is setting the Level to CUSTOM. Only with this settings you can control the call volume yourself.
  • 35. Figure 16: Load Configuration Tool – Voice (PSTN Advanced Options) This property allows the call volume to be defined. In this example 60 calls be hour are made in the direction from the PSTN Simulator to the Lync environment (Mediation Server) The next step now is setting up the Gateway itself. You need the four parameter: Component Value Mediation Server FQDN Cie-lyncpool01.cie.int Mediation Server Port 50686 PSTN Area Code (502) PSTN Simulator Port 5068 Setup PSTN Simulator Topology settings Lync cannot communicate to any gateway if it is not defined in the topology. Next step now has to be the correct implementation of this gateway in the Lync Topology. The Stress Test Client need to be assigned a computer name and FQDN, it has to be registered in DNS. Than you will start the topology generator and implement the gateway and trunk, as well you need the Mediation Server listening Port to be set to TCP 5068 too. 6 The Simulator does not support TLS connections, therefor you need to enable the Lync-Gateway communication with TCP. This is TCP Port 5068.
  • 36. Figure 17: Change the Mediation Server Port to 5068 TCP Start now with the Gateway, which will after finishing the wizard also establish the associated trunk. Figure 18: Change the Mediation Server Port to 5068 TCP
  • 37. Let the gateway listen to all configured IP addresses. Most probably a single and static IP. The trunk configuration must now match the TCP configuration necessary. Figure 19: Trunk setup with TCP and Port 5068 The ready configured simulator has to look like the following illustration before you publish the topology. Note: Generally, you can make use of TLS, but keep in mind, it is not only a high load on the Frontend server for PSTN calls, also your Stress Test client needs additional CPU cycles. Therefor check and track your client performance.
  • 38. Prepare Lync Enterprise Voice Setup Microsoft provide several PowerShell Script for several test scenarios. One of those scripts is the Enterprise Voice Setup, named: RoutingRules.ps1. This script is the basis for your required Lync setup. Figure 20: RoutingRules.ps1 location But remember, it must be slightly modified to match the exact setup in your environment. The following illustrations provide you with a possible, working setup. If you need a different scenario you should do some real enterprise voice consulting  Figure 21: RoutingRules.ps1 – change the PstnUsage name Figure 22: RoutingRules.ps1 location – match the change to the Voice Policy The next step must match the Area Code you configured during the PSTN Simulator gateway setup. I recommend the (502), so all other recommended parameters elsewhere in the Stress Test will match their default settings. Figure 23: RoutingRules.ps1 location – adjust the Area Code settings
  • 39. Since we had decided to go along with the default Area Code (502), you have to make the outbound call routing match as well. Figure 24: RoutingRules.ps1 location – outbound call routing Now it is time starting the script and have the required Enterprise Voice setup pre- configured. Truly it will save some time, especially if you not so very familiar with. Start a Lync Management Shell in Administrator mode and navigate the location of the modified PS1 script on one of your Frontend Servers. Figure 25: RoutingRules.ps1 location – run the script At the end of the script it provides you with a log file, where you can validate the setup. It will also show you possible configuration mismatches or other errors. If this should be happened, you always can go back to the Lync Server Control Panel, delete the entire Enterprise Voice Setup and start over again!
  • 40. Figure 26: RoutingRules.ps1 location – log file location information Figure 27: RoutingRules.ps1 location – log file information
  • 41. Prepare Lync Enterprise Voice Control Panel adjustments The Script is not providing you always all correct setting, therefor is recommended you validate the setup manually. Doing so, open the Lync Control Panel and navigate to Voice Routing. From here run through the entire setup and make sure it matches exactly all setting. In my example here, I have made all necessary adjustments need to run a successful test. You have to start with the Dial Plan first. Make sure all three Normalization Rules are in the Default (Site) Dial Plan. This setting are necessary to be valid for ALL Users. Since the User Provisioning Tool will NOT set individual Policies. So if you don’t want running through all user again and grant a Dial Plan and Voice Policy, make sure all this settings a valid for your SITE or POOL. Figure 28: Enterprise Voice – Dial Plans
  • 42. Now we have a look into the Voice Policy. Figure 29: Enterprise Voice – Voice Policy There is mostly no need to make any changes, but please validate that the PSTN Usage records a present! Afterwards we need to switch to the Route.
  • 43. Figure 30: Enterprise Voice – Voice Route The Voice Routing is essential to associate a trunk, which represents the gateway and the path to it. In the matching pattern list, you find the target of outgoing calls to the PSTN Simulator. This will make this route generally work for ONLY this trunk and PSTN Simulator. You will find generally only the LyncPool PSTN Usage assigned, which is so far ok. NOTE: If you also run Location Information Tests, Emergency call are essential. Therefor your MUST assign manually the Emergency PSTN Usage here too. Figure 31: Enterprise Voice – PSTN Usage Records
  • 44. As said before, the Trunks are the association between the Mediation Server and the PSTN Gateways, which is true and a need for making the PSTN Simulator work. Several settings in this Trunk must match the Mediation Server and PSTN Gateway, which is so called making them compatible and may adjust some detailed parameters in the SIP Protocol. For your setup we have some changes too. Remember as I wrote earlier, the PSTN Simulator only support TCP connection and NO TLS. The Trunk has dedicated encryption configuration drop-box. Here we need to change the setup to, at least OPTIONAL. Figure 32: Enterprise Voice – Trunk Configuration Encryption support level But that’s not all. The trunk also needs to be configured with PSTN Usage Records associated with it. They were in this case also not provided during the PS script. As for now, we do this manually. Figure 33: Enterprise Voice – Trunk Configuration PSTN Usage
  • 45. Figure 34: Enterprise Voice – Trunk Configuration select the PSTN Usage Record Figure 35: Enterprise Voice – Trunk Configuration PSTN Usage Records are assigned
  • 46. Prepare Lync Enterprise Voice – Test Voice Routing To be sure your configuration works you can validate the setup. As we remember, there are 3 normalization rules: 5-digits, 7-digits and 10-digits. Test each of the input should match one of the Test CALL could provide. If all Test are successful you are very close to the final goal.... ! Congratulation! Figure 36: Enterprise Voice – Test Voice Routing
  • 47. VoIP (VoIPUCUC Advanced) Tag Value Comment ConversationsPerHour 1 (custom) calls per internal user per hour LocationProfile Redmond Location Profile (Dial Plan) used for dial extension only PhoneAreCode 206 Area code of the internal Lync user (VoIP) which will be called UC/ PSTN Gateway (PSTN Advanced) Tag Value Comment ConversationsPerHour 1 (custom) calls to internal user per hour, from PSTN Simulator to UC (Lync) Conferencing Attendant (CAA Advanced) The Conferencing Attendant has phone number assigned (see the ps1 scripts) this number must be provided here, so the PSTN Simulator can initiate call to Lync CAA Telephone Number: +1 (901) 123-4567 Tag Value Comment TopOfHourConversation False Specifies whether all conferences should be started at the beginning of each hour on the local host. If this is true, it will be prioritized over AdHocConversationCreation. If both are set to false, conversations will be created immediately. If you need testing CAA more strong chose TRUE LobbyConferencePercentage 50 Specifies the percentage of conferences that will admit users to a lobby, until the user or lobby times out and/or the user is admitted to the conference by the presenter. LobbyTimeoutInSec 600 Lobby timeout in sec until call is dropped LobbyParticipantToAdmitPercentage 100 % of dialin user waiting in the lobby and must be admitted Change: based on the meeting design ConversationLengthInSec 700 Conference duration in sec AdHocConversationCreation True Random distributed conference of during 60min. This parameter depends on the TopOfHourConversation
  • 48. LocationProfile Redmond Location Profile (Dial Plan) used for dial extension only NumberOfCAACallsPerHour 1593 (custom) how many call per hour to CAA Maybe limiting this parameter EnableRecording False Enable recording of CAA calls to an audio file that will be saved in the LyncPerfTool Local Directory when completed. RecordIntervalTimeInSeconds 60 When EnableRecording is true, the length of call in seconds that will be recorded. Call Park Service (CPS Advanced) Tag Value Comment ConversationsPerHour 1 (custom) calls per internal user per hour to CPS ConversationLengthInSec 125 CPS duration until callee hangs up PhoneAreaCode 206 Phone area code of internal Lync EV users CallsToParkPercentage 100 UC calls received which will be parked CallsToUnparkPercentage 100 The percentage of calls parked, that should be unparked, and the rest would be hung up by the parkee. CallDurationUntilParkInSeconds 5 The length of the call in seconds, until the parker initiated the park duration; should be less than total ConversationLength. AverageParkDurationInSeconds 60 The length of the call in seconds, until the parker unparks the parkee; should be less than total ConversationLength.
  • 49. Reach Scenario Most quest asked is: What is the Lync Reach Client? Simple answer: Lync Web App used to be called the reach client But now back to what is the Web App Client exactly. You remember, if you join a conference, and you don’t have a Lync Client installed, a webpage open and download/ installs a web plugin. This is meant with Reach Client. We need in our scenario to test the IIS related capabilities with this service generated load. This client supports only a subset of rich client features, which are:  Application Sharing  Data Collaboration  Instant Messaging  Voice Conferencing Figure 37: Load Configuration Tool – Reach (Web App Client)
  • 50. I recommend and urge you running this test on a separate client, if you test a huge count of “external” users and please don’t use this test internally. If you have internal user without a Lync client, they always can use the Basic Client for free. The browser based test will consume for AV huge CPU power, that’s why a dedicated test client make sense. Additional Setting Parameter: Tag Value Comment SipAuthMethod Kerberos The type of authentication method users that are signing in to authenticate themselves (should be Ntlm for external users) ReachTargetServerUrl The Ucwa server URI, which should point to the Director Pool host name or Front-End pool host- name, respectively. AutoDiscoveryEnabled False Whether to use Auto Discovery configuration (DNS lyncdiscoverinternal.sipdomain.com and lyncdiscover.sipdomain.com) to connect to the FE. Recommend: TRUE, but DNS must be configured in split DNS Please note here: SipAuthMethod: If you run the reach client tests from the EXTERNAL Client. You MUST configure NTLM based authentication. Kerberos is not supported over TLS, therefore you please generate different test scenarios for internal client and external clients. ReachTargetServerUrl: If your scenario is external, you need to configure the mobility URL here. This parameter is only valid if the AutoDiscovery is set to FALSE. e.g. cie-lyncpool.cie.int or others. Application Sharing Advanced (ReachAS) Parameter: Tag Value Comment DisableAppSharingDecodingForViewers True See. General Scenarios (AS) LobbyConferencePercentage 0 See. General Scenarios (AS) LobbyTimeoutInSec 300 See. General Scenarios (AS) LobbyParticipantToAdmitPercentage 80 See. General Scenarios (AS) ConversationsPerHour 1 See. General Scenarios (AS) DisplayAppSharingView False See. General Scenarios (AS) ConversationLengthInSec 33600 See. General Scenarios (AS) ParticipantJoinTimeInSeconds 300 See. General Scenarios (AS)
  • 51. Data Collaboration Advanced (ReachDataCollab) Parameter: Tag Value Comment EnableW15WACSession True See. General Scenarios (DataCollab) IntervalForNextUploadInMinutes 3 See. General Scenarios (DataCollab) NumberOfTimesPackagesToBeUploaded 1 See. General Scenarios (DataCollab) DeleteCollabContentAtEndOfConference True See. General Scenarios (DataCollab) ShowWhiteboardInEverySec 120 See. General Scenarios (DataCollab) AnnotationsPerMinute 5 See. General Scenarios (DataCollab) PowerPointPercentage 100 See. General Scenarios (DataCollab) WhiteBoardPercentage 0 See. General Scenarios (DataCollab) LobbyConferencePercentage 0 See. General Scenarios (DataCollab) LobbyTimeoutInSec 300 See. General Scenarios (DataCollab) LobbyParticipantToAdmitPercentage 80 See. General Scenarios (DataCollab) FlipRateInSec 60 See. General Scenarios (DataCollab) ConversationsPerHour 1 See. General Scenarios (DataCollab) ConversationLengthInSec 3600 See. General Scenarios (DataCollab) ParticipantJoinTimeInSeconds 300 See. General Scenarios (DataCollab) Instant Messaging Advanced (ReachIM) Parameter: Tag Value Comment LobbyConferencePercentage 0 See. General Scenarios (IM) LobbyTimeoutInSec 300 See. General Scenarios (IM) LobbyParticipantToAdmitPercentage 80 See. General Scenarios (IM) ConversationsPerHour 1 See. General Scenarios (IM) ConversationLengthInSec 3600 See. General Scenarios (IM) ParticipantJoinTimeInSeconds 300 See. General Scenarios (IM) Voice Conferencing Advanced (ReachAV) Parameter: Tag Value Comment LobbyConferencePercentage 0 See. General Scenarios (AV) LobbyTimeoutInSec 300 See. General Scenarios (AV) LobbyParticipantToAdmitPercentage 80 See. General Scenarios (AV) ConversationLengthInSec 3600 See. General Scenarios (AV)
  • 52. Mobility Scenario A few words regarding Mobile Clients. Well there are some categories: 1. The Mobile Phone 2. Windows APPs What does this mean? Both clients use the same methodology connecting to Lync. For your Stress Test you need to evaluate the following parameter: - How many Windows APP Store clients are use (internally and externally) - How many Mobile clients are used (internally and externally) - How should your mobile policy look like, Wifi/ 3G audio, or and video, or none at all? With this information and the multi device logon possibility, you can start designing the stress test for this section and divide the test into internal and external parts.  Lync Mobile App Instant Messaging and Presence  Lync Mobile App Peer-to-Peer Audio/Video calls Figure 38: Load Configuration Tool – Mobility Additional Setting Parameter: Tag Value Comment UcwaTargetServerUrl Internal (mobility RevProxy configuration), or direct connect for this test only External (mobility setup too) UcwaTargetServerPort Either 443 or 4443 WorkDayDuration 10 Working day hours for simulation NumberOfContactViewsPerDay 9 Mobility contact views NumberOfContactListViewsPerDay 5 Mobility contact list views NumberOfSelfPresenceChangesPerDay 1 Manually set the presence on mobile devices
  • 53. OnlineToInactiveUserActivityIntervalMinutes 5 Min wait time until server treat the device as inactive EnablePhotoFetching False View photos on mobile client AutoDiscoveryEnabled False Active auto discover. If true no UCWA target need to be set SearchEnabled True Mobile client search capability enabled SearchIntervalSeconds 6000 Interval between mobile client searches CommaSeparatedSearchString If searchenabled, than you can put the search queries here: similar to ABWQ PnchUserRanges User ranges for pnch enabled users for example 10,20-30,45-50. Here Microsoft meant “Push Notification Clearing House“ enabled users. http://technet.microsoft.com/en- us/library/hh690037.aspx SearchReturnLimit 25 s.o. OutgoingIMSessionsPerUserPerDay 8 I would change the default parameter here, IM is more often used on mobile devices the AV. OutgoingAVSessionsPerUserPerDay 24 Presence and P2P Instant Messaging/ Audio Advanced (MobilityPresence) Parameter: Tag Value Comment ConversationsPerHour 0.375 (custom) The number of conversations each user will create during each hour. ConversationLengthInSec 360 Conversation during in sec
  • 54. Summary (Important User Load definition) Now it time to segregate the test into the small pieces we need on each test client. One more thing to say is, we defined several parameters during the setup process, but we never spoke about if only a handful or even all user have this behavior. That now the part we are coming too. Based on the Common Configuration all test are displayed in the summary. Based on the expected client behavior you consulted during the Lync initial design process, you have now the possibility to isolate tests, or even making huger ranges for testing. Figure 39: Load Configuration Tool – Summary Please tick the “Enable Custom User Range Generation”. You can now edit the User Range parameter according to your needs. You can still do this manually in each created stress test scenario file.
  • 55. Figure 40: Load Configuration Tool – User Range customization In this upper demo, I have shown you how to overlap the user range. NOTE: If you do so, ensure this test will NOT run on the same Client! Copy the test files onto different machine, so the test machine is not overloaded. Secondly remember: If you are starting the Test, do NOT start them all at the same time. This is would lead to extreme high load on the Lync servers due to too many logon request. The Load Configuration Tool has the check-box adding sign-in delay into the RunClient.bat. The Tool will start generating all required files and place those ito a dated folder and segregate them into the different client folder, base on the information you provided earlier during the common configuration Figure 41: Load Configuration Tool – Stress Test Client file location You next step is not modifying all RunClientx.bat according your file location setup. Also ensure the LyncPerfToolPref.dll is registered so the local PerfCounters can be addressed. Even if you split the test of several client. Please case what the automated RunClient Generation process is doing. The process will be split over ALL addressed e.g. here three (3) clients. Meaning, I defined for CAA user 0-500. Here now the CAA_clientX.xml file are copied into all three subfolder for each client and the users are also separated into three ranges: <UserNumberBeginning>0</UserNumberBeginning> <UserNumber>167</UserNumber> <UserNumberBeginning>167</UserNumberBeginning> <UserNumber>167</UserNumber>
  • 56. <UserNumberBeginning>334</UserNumberBeginning> <UserNumber>167</UserNumber> So best for you is ALL .XML file must be modified according to the stress test client positioning. I fully recommend you write your own RunClient.bat and also have modified all xml files before you run a test test! Test Test means, you should start the stress test step by step for each test you run. Validate those starting process and ensure the test can run smoothly. Adhoc and Large conferencing Stress Test Client Setup The three optional (check box) test scenarios need a manual involvement configuration the user range. Make sure they are not overlapping. Than analyze and possible reconfigure the client where the meetings are started. Figure 42: Load Configuration Tool – optional component, user range assignment
  • 57. After the user range definition and generation of setup files, the scenario should look similar to the following illustration. Figure 43: Load Configuration Tool – example config files for AV (all options) External Stress Test Client Setup As we have discussed at the very beginning, we can and should test the Edge server components as well. Doing so requires the external test activation. The test configuration files are create in the same way as for other options. They are named: xxExternal_clientxx.xml. Those file have to move to the external test client and run from outside. Figure 44: Load Configuration Tool – external test client configuration files If you have chosen multiple client, as in this example 3, the xml file will be found in all three folders. Since you have saying only 1 external stress test client for simulation. You must modify one configuration entry according the max count of external user. If you defined 10.000 test user than you have also specified the user range e.g. 9.000 -10.000 as external. Reflecting this in your test setup, you must modify the following section in the xml: <UserNumberBeginning>9000</UserNumberBeginning> <UserNumber>1000</UserNumber> <TenantStartIndex>0</TenantStartIndex>
  • 58. Table of Figures Figure 1: Stress Test illustration.............................................................................................................. 7 Figure 2: Virtual Stress Test Machine placing ......................................................................................... 8 Figure 3: KHI for Stress Test .................................................................................................................... 9 Figure 4: All KHI based on RaaS............................................................................................................. 10 Figure 5: UserProvisioningTool - Location............................................................................................. 12 Figure 6: UserProvisioningTool – User Creation.................................................................................... 13 Figure 7: UserProvisioningTool – Contact Creation .............................................................................. 14 Figure 8: UserProvisioningTool – Distribution List Creation................................................................. 15 Figure 9: UserProvisioningTool – LIS Configuration .............................................................................. 16 Figure 10: UserProvisioningTool – Setup file for LIS ............................................................................. 17 Figure 11: UserProvisioningTool – List configuration files.................................................................... 17 Figure 12: UserProvisioningTool – Lync script for LIS............................................................................ 17 Figure 13: Load Configuration Tool – Common Configuration ............................................................. 21 Figure 14: Load Configuration Tool – General Scenarios...................................................................... 23 Figure 15: Load Configuration Tool – Voice Scenarios.......................................................................... 34 Figure 16: Load Configuration Tool – Voice (PSTN Advanced Options)................................................ 35 Figure 17: Change the Mediation Server Port to 5068 TCP .................................................................. 36 Figure 18: Change the Mediation Server Port to 5068 TCP .................................................................. 36 Figure 19: Trunk setup with TCP and Port 5068.................................................................................... 37 Figure 20: RoutingRules.ps1 location.................................................................................................... 38 Figure 21: RoutingRules.ps1 – change the PstnUsage name ................................................................ 38 Figure 22: RoutingRules.ps1 location – match the change to the Voice Policy .................................... 38 Figure 23: RoutingRules.ps1 location – adjust the Area Code settings................................................. 38 Figure 24: RoutingRules.ps1 location – outbound call routing............................................................. 39 Figure 25: RoutingRules.ps1 location – run the script .......................................................................... 39 Figure 26: RoutingRules.ps1 location – log file location information ................................................... 40 Figure 27: RoutingRules.ps1 location – log file information ................................................................. 40 Figure 28: Enterprise Voice – Dial Plans................................................................................................ 41 Figure 29: Enterprise Voice – Voice Policy ............................................................................................ 42 Figure 30: Enterprise Voice – Voice Route............................................................................................ 43 Figure 31: Enterprise Voice – PSTN Usage Records .............................................................................. 43 Figure 32: Enterprise Voice – Trunk Configuration Encryption support level....................................... 44 Figure 33: Enterprise Voice – Trunk Configuration PSTN Usage........................................................... 44 Figure 34: Enterprise Voice – Trunk Configuration select the PSTN Usage Record.............................. 45 Figure 35: Enterprise Voice – Trunk Configuration PSTN Usage Records are assigned ........................ 45 Figure 36: Enterprise Voice – Test Voice Routing ................................................................................. 46 Figure 37: Load Configuration Tool – Reach (Web App Client)............................................................. 49 Figure 38: Load Configuration Tool – Mobility...................................................................................... 52 Figure 39: Load Configuration Tool – Summary.................................................................................... 54 Figure 40: Load Configuration Tool – User Range customization ......................................................... 55 Figure 41: Load Configuration Tool – Stress Test Client file location.................................................... 55 Figure 42: Load Configuration Tool – optional component, user range assignment............................ 56 Figure 43: Load Configuration Tool – example config files for AV (all options).................................... 57 Figure 44: Load Configuration Tool – external test client configuration files....................................... 57