FIM 2010 Performance Testing – Scale & Load
For the discussion of scale the first question is the number of users & groups you expect to be in your system. There are fairly easy numbers to determine with a few queries of Active Directory or whatever is your directory store of choice. As many companies currently do not allow end users to manage groups, you will need to consider first if you are going to allow your users to create & manage groups. Then if you do, how that will impact your scale as the number of groups may grow. In our case we are using 150k+ Users & 400k+ groups in our testing.
The next portion to consider is how your configuration will impact your scale. Are you going to deploy calculated groups? If so what types & how many will you use? Are you going to manage custom object types in your environment like computers?
Last there is some impact from your policy objects on the scale of your deployment. In a cross forest environment you may be provisioning FSPs into Sync. Using codeless will increase the number of EREs & DREs in your system which can be roughly estimated based on the number of SyncRules for the object type * the count of that object type.
Now that you have your system configured, gotten it populated you are ready to start rolling out your deployment. How are you going to know that you have the right set of hardware in place to sustain your deployment?
In our case we started with estimating the expected usage for a given number of users for many of the key operations in the system.
- How often do we expect a request to join or leave a group?
- How often do we expect a user to create a static or dynamic group?
- What is the breakdown of security group usage vs. distribution list usage?
- How often do we expect a request to register for password reset or reset a password?
- How many computers have the FIM client installed? – The client will periodically do a check for if registration is required on logon.
- Will users primarily use the Portal or the Outlook client for group management operations? – This will determine how much work is done by the Mail Listener as it polls Exchange & processes mails
- What is the usage pattern of your company? Do you expect peaks in the morning when users log in?
After estimating each of these, some based on hard data we have from another tool which was deployed & some we had to estimate, we were able to create what we call a load profile.
Using that we were able to leverage VSTS to create load tests to simulate our deployment. VSTS is a great tool for doing performance testing of a product, it is geared toward product development directly but could also be leveraged in testing a product deployment.
How are you going to evaluate the readiness of your deployment to meet your scale & load requirements?