I would love to be proven wrong, but I believe a little used feature of Nintex Reporting, is the Performance Collector. Sure, out of the box it comes with a few counters that it collects, such as memory usage and CPU user, but it can do so much more.
The problem is, noone really knows what counters are available on their systems. Add to that, that even if they knew about the counters, they wouldn’t know what the data is that is in front of them.
So today, I’d like to proper a real world scenario that some System Administrators will come across, and then see if we can come up with a solution to it using Nintex Reporting.
I run a small IT company which currently only has a need for one SharePoint server. We have encountered some delays in page loads, queries are slow etc.
I’ve looked at the databases, and they seem to be ok, so I’m not sure what the real bottleneck is.
My next thing to look at is my harddisk. Could that be the problem? If it’s not, could it be a problem in the future?
How can Nintex Reporting help here?
The Performance Collector that comes out of the box with every version of Nintex Reporting, is actually quite flexible, and through Central Administration, you can configure it collect any number of performance counters.
One counter that I believe might be useful here, is the Disk Transfers/sec counter for the PhysicalDisk. “Shows the rate, in incidents per second, at which read and write operations were performed on the disk.” – directly from a TechNet site.
When you see that the Disk Transfers/sec counter starts to consistently go over the 30 transfers/sec mark, then you are not getting the performance you would want from your disk. The lower the number, the better (think of a golf score).
Another counter that would be interesting here, is the PhysicalDisk % Idle Time. How much time does your harddisk actually spend in an idle mode? This is the opposite to golf. The higher this number, the better.
If you see this counter consistently at a low number, then this means that your harddisk is doing a lot of work. It would also mean, that a lot requests are being sent to it, so these are being queued up because the disk is so busy.
Configuring Nintex Reporting to collect this data
First we need to configure the Nintex Reporting Performance Collector to collect the data we want. This is done by going to Central Administration and clicking on Application Management. There will be a section in there called Nintex Reporting Management. Click on the Collector Management link.
You will see a page that shows you all the Nintex Reporting collectors you have. There are new collectors with the latest release. This article will be based on build 220.127.116.11 of Nintex Reporting, as my server has been out of commission and I haven’t updated to the latest and greatest.
Once the connection from that page to collectors is done, you want to click on the Configure Settings link for the Performance Collector.
A popup window will appear, and it will look somewhat similar to the screenshot below :
As innocent as this page is, this is the core of the Performance Collector. This tells it what information we want it to collect.
So this is where we start to configure what we want to collect. As I mentioned before, I am interested in the following counters : PhysicalDisk Disk Transfers/sec PhysicalDisk % Idle Time
In the “Add Performance Counter” section of that popup window, we select the Category we are interested in, which is PhysicalDisk. To make it easier, the list of categories are in alphabetical order :).
Once that is selected, the Instance drop down will be populated, and you select the drive you are interested in. I have selected the “0 C: W: D:” which represent my physical driver on my server.
After this is selected, the Counter drop down will be populated with the counters you can monitor. I select the “Disk Transfers/sec”.
I then change the “Sample Rate” to 30 seconds. I want to monitor this information, but I don’t need it down to the 2 second interval. I probably don’t need it to the 30 second either, but for now that’s what I’ve chosen.
Last but not least, give it a Watch name. I will call it Physical Disk Transfers per Second.
When you are happy with the configuration of this new counter, click on the “Add Counter” button, and the new counter will be added to the list of counters to collect data on.
Next, I do exactly the same thing, but instead of the Disk Transfers/sec counter, I choose to collect the % Idle Time counter.
You should now be able to scroll down the current Performance Counter we are monitoring, and see your 2 new counters :
Now that you have added the new counters, click on the Update button and the popup window will close.
We can give the collector some time to collect some data (eg. 10 minutes), and then we can see if the data is being collected.
Running a Nintex Reporting report to see the data
The easiest way to see the data, is to go to your Nintex Reporting report center, open any of the out of the box dashboards or reports, and you will have the Report Action web part availabe to you. Click on the Run New Report link.
On the Run New Report page, click the Select Report link, and in the popup Report Selector window, expand the the “Performance” group of reports and select the “Performance Counter Report” :
Now you will be provided with all the counters you are collecting, and be able to narrow down the date and time periods that you want to see this data for.
As a first step, I’ll select the Physical Disk Transfers per Second report, and I will chose a specific day and I want to see a report for 1.25 hours.
When I run this report, I see the following :
I see a fairly steady Transfer rate, with one jump over 24, but on average I probably don’t have anything to worry to much about.
Next, is to see the Physical Disk percentage Idle Time. All I do, is change the selection in the “Performance Watch Name” drop down, and leave the rest as before.
This report actually shows me that for most of the time, my idle time is in the mid to high 90%. This tells me, that most of the time, my harddisks are actually not doing anything, which is a good thing.
The bad thing is, what is causing my slow page loads??? Oh well.. back to the drawing board I guess.
Now that you have these counters being collected, the Run New Report option is quite handy, but you can also Schedule these reports so that they are run over time. That way, you can have a nice report to show management. Especially if you want some justification as to why you need super fast harddisks for your SharePoint servers.