HOW TO: Configure VS2008TEST to Load-Test AND Monitor Remote SharePoint Servers

Load-Testing SharePoint servers is critical activity, yet time & again I come across clients who aren’t doing it. When I investigate why not, almost always due a single interesting reason – no one could figure out how to run the load testing from (say) a laptop, yet still monitor from that laptop the stats on the remote SharePoint servers…

šŸ˜

This sounds like it should be completely straightforward, doesn’t it? Yet I’m not joking when I say that Microsoft blundered on this point: they made an incredibly powerful & intuitiveĀ Visual Studio-based load-testing environment like VS2008 Team Edition for Software Testers (“TEST” –Ā  get it?)… then made it so annoyingly UNintuitive and UNdocumented as to how to get stats on remote servers (you know, the very servers you’re LOAD TESTING), that damn-near every client I ever had (and I’ve work with lots of $1B to $10B companies) actually GAVE UP, and resorted to using actual people to play at load testing, or opted to watch various performance logs and analyze after-it-already-happened performance issues.

šŸ˜

Go figure.

Well, as it turns out, IF you visit enough forums, IF you read enough articles which vaguely refer to how to access stats on remote servers, IF you finally come across an article which actually mentions what appears to be a single obscure KB article… then you learn the ONE TINY LITTLE TRICK which is necessary, and *voila* you’ll suddenly be seeing your remote server stats show up in a Metrics window in your VS2008 load tests.

So what is this “trick”?
Simple & Straightforward, once it’s told to you: The user account which is running the load tests (the one with which you logged into the laptop) needs to be in 1 of 2 possible built-in groups on each of the remote servers you wish to monitor:
1. TheĀ remote server’s “Admins” group; or
2. TheĀ remote server’s “Performance Monitoring Users” group.

That’s it. Now that someone has TOLD you that, you’re all saying “DUH… of COURSE. That makes perfect SENSE”. But I swear to you, when you’re in VS2008TEST, and you’re running a load test, and you THINK you’ve correctly added remote server Web01 and Web02 and SQL01 to your load test, and yet the stupid “System Under Test” metrics window just sits there and displays NOTHING AT ALL… well, it’s NOT obvious one damn bit.

Good thing I’m not bitter…

So let’s actually look at some screen shots of what needs to be done…

Step 1: CREATE a load test containing web tests which browse to URLs on your remote server. In my case The Remote Server is named “LAB-APP-VMOSS”. As this is not a primer/tutorial on how to use VS2008TEST, I will assume you know how to do this well-documented step;

Step 2: ADD your remote server to the list of “counters”. Here’s what my VS2008 load test solution (of 1 load test project of 1 load test of 1 web test) looks like before adding the remote server to my list of computers-with-counters:

Screenshot - Initial Load Test Configuration

HOVER over Run Settings and RIGHT-CLICK >

Screenshot - Adding computer to Counter Set

Ā 

Here’s what the Counter Set Dialog Box looks like:

Screenshot - Adding computer to Counter Set 2

Next – CLICK “Add Computer”, and enter each of your remote servers. In my case, the remote server I want to monitor is LAB-APP-VMOSS – the very server I’m going to be pounding with my load test.

Lastly select from the semi-intuitive group the actual counters (metrics) you think you’d want to watch. For me , in SharePoint, I’ll go with ASP.NET counters and IIS counters. This typically includes %CPU Utilization and %Memory Utilization, which are most often the key indicators if your remote server is suffering under a particular load:
Screenshot - Adding computer to Counter Set 3

Ā 

If you check out your VS2008 solution, you’ll now see the additional remote servers added to your Run Setting’s list of counters:

Screenshot - Adding computer to Counter Set 4

Once the remote server has been included in the Counter Set for the load test, you high-tail it and RDC into that remote server, and make sure the domain account used when running the VS2008 to launch the load test is in the “Performance Monitoring Users” group:

Screenshot - Adding load test user to remote server Perf Monitoring Users group

Once that’s done, return to VS2008, and simply run your load test as usual…
… except NOWĀ  you’ll see your much-desired remote server stats show up automatically under a metrics group called (aptly) “System Under Test”:

Screenshot - Remote Stats Now Appearing in Load Test

Cool. Great. Excellent. ‘Bout time someone made this all understandable.

šŸ˜‰

Cheers

-MV

Advertisements
This entry was posted in The Wise Consultant. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s