Performance monitoring with the MD3000i can be accomplished in two ways. The first is to use the tools on the host that is connected to the storage to collect disk performance statistics. With Windows based servers this would most likely be with Windows Performance Monitor (perfmon) and with Linux you could use the sysstat package. The second way is to monitor usage on the MD3000i array itself. This has the advantage of being able to measure the performance of the entire array, individual controllers, and virtual disks. The disadvantage is that you have to do a little bit of scripting to get to the information. This page will focus on using smCLI to monitor the performance of the MD3000i.


Scripting with SMCLI


The MD3000i requires a system be installed with the Dell PowerVault Modular Disk Storage Manager so that it can be used as a management station. This management tool is GUI based and provides the ability to configure virtual disks, assign them to hosts, set IP addresses for the iSCSI ports, and all kinds of other stuff. The GUI does not provide a way to see the performance stats for the MD3000i.

Included with this management utility is a command line based scripting utility that provides access to all of the same types of functions that the GUI can do as well as some performance stats. The scripting utility is smcli.exe and by default it will be in the c:\program files\Dell\MD Storage Manage\client directory. The complete reference guide for the smCLI is located on support.dell.com at http://support.dell.com/support/edocs/systems/md3000/en/CLI/PDF/CLIA00MR.pdf.

The command to capture the performance stats to a file is save storageArray performanceStats, but in order for it to work the interval between each capture point and the number of time to capture must be specified. As a result the command to caputre the stats will look something like this:

smcli -n r2md3000i -c "set session performanceMonitorInterval=5 performanceMonitorIterations=250;
save storageArray performanceStats file=\"c:\\md3000iPerfStats.csv\";"

-n - name of MD3000i (don't use the IP address)
performanceMonitorInterval - time in seconds between each performance stats capture
performanceMonitorIterations - the number of times to capture peformance in this session
The \ must be put in front of quotes or \ within the quotes of the -c


Performance Results


The above command produces a CSV that will have contents like the following repeated for iteration:

"Storage Arrays ","Total IOs ","Read Percentage ","Cache Hit Percentage ","Current KB/second ","Maximum KB/second ","Current IO/second ","Maximum IO/second"
"Capture Iteration: 1","","","","","","",""
"Date/Time: 7/14/08 4:35:29 PM","","","","","","",""
"CONTROLLER IN SLOT 1","0.0","0.0","0.0","0.0","0.0","0.0","0.0"
"Virtual Disk MDData1","0.0","0.0","0.0","0.0","0.0","0.0","0.0"
"Virtual Disk MDVMHosts1","0.0","0.0","0.0","0.0","0.0","0.0","0.0"
"CONTROLLER IN SLOT 0","27.0","0.0","0.0","20.7","20.7","4.5","4.5"
"Virtual Disk MDLog1","0.0","0.0","0.0","0.0","0.0","0.0","0.0"
"Virtual Disk WSV_VMHosts","27.0","0.0","0.0","20.7","20.7","4.5","4.5"
"STORAGE ARRAY TOTALS","27.0","0.0","0.0","20.7","20.7","4.5","4.5"

When imported into a spreadsheet tool it will look more readable like this:


Storage Arrays Total IOs Read Percentage Cache Hit Percentage Current KB/second Maximum KB/second Current IO/second Maximum IO/second
Capture Iteration: 1
Date/Time: 7/14/08 4:35:29 PM
CONTROLLER IN SLOT 1
0
0
0
0
0
0
0
Virtual Disk MDData1
0
0
0
0
0
0
0
Virtual Disk MDVMHosts1
0
0
0
0
0
0
0
CONTROLLER IN SLOT 0
27
0
0
20.7
20.7
4.5
4.5
Virtual Disk MDLog1
0
0
0
0
0
0
0
Virtual Disk WSV_VMHosts
27
0
0
20.7
20.7
4.5
4.5
STORAGE ARRAY TOTALS
27
0
0
20.7
20.7
4.5
4.5

By using the sorting or filtering function of the spreadsheet it is possible to get all the stats for the entire array with STORAGE ARRAY TOTALS, each controller, or individual Virtual Disks.

Sample Graph of Results

To illustrate how the performance numbers gathered from smcli can be graphed the bytes per second and IOs per second were captured through Windows Performance Monitor for the virtual disk MDVMHosts1 and at the same time that smcli was used to capture the stats on the MD3000i. The activity during this time was the setup of the medium sized DVD Store test database on SQL Server 2005. The graph for the MD3000i is shown next to a graph from Windows Performance Monitor for the same LUN during the same time. A quick video demo of how to use Microsoft Excel 2007 to create a graph of the csv output file from the MD3000i was created and can be viewed here or downloaded in .WMV format.