I was wondering what people typically do for gathering of performance metrics and statistics relating to SharePOint (avg page load time for certain pages and such). I've found the following http://spperformancetest.codeplex.com/ but before I invest any time into testing / deployment I was wondering if there was a better way to go about this or a more industry standard approach.
1 Answer
There are dozens of ways of doing this and 3/3 studios I have worked with have performed this differently.
There are dozens upon dozens of online tools for this, varying from log analysis too robots that view it as a user would.
If it is a public facing website then I would definitely opt for pingdom tools for front end tests, and a database analyzer for back end test, but also using a system monitor and perform stress testing.
I personally stick to log analysis, a database analyzer and system monitor with stress testing, but I also only do this on projects that are that large it is impossible to calculate the requirements.
My steps are for slow pages:
1) FireBug page speed or better yet pingdom tools page speed (More accurate)
2) Fix any issues, if page load time is not acceptable, check each web part and with a simple timer, for any speed issues, fix these.
3) If it is still slow, hit the logs, look at requests made, database hits made, and try and optimise performance
4) If everything is as optimal as I can get it, look at a topology change to fix any observed bottlenecks (Easy to see from the response times of various requests)
Finally) Stress test and look at performance monitor.
The tool you are looking at would be for step 3 and the finally stage in my book, on small to medium deployments you should rarely get to this stage.
This is simply because 90% of all slow downs in a deployment end up being something front end.