MD3000i Performance Monitoring

MD3000i Performance Monitoring

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

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
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.

MD3000i SMCli Performance Graph

Figure 1:
MD3000i SMCli Performance Graph

MD3000i Performance Graph

Figure 2:
MD3000i Performance Graph

Generating graphs with Linux and GnuPlot

Use the smcli.exe to generate the performance output file (see previous point), parse it (using bash script) , and generate smart graphs (with GnuPlot).

You can download the files and scripts from here
ADMIN NOTE: Broken link has been removed from this post by Dell

Here is a sample output (full sample report available here)

ADMIN NOTE: Broken link has been removed from this post by Dell


Figure 3:

Current KBs

Figure 4: Current KBs

The X line represents the duration of your test.

The original page is here

ADMIN NOTE: Broken link has been removed from this post by Dell
please read the README.TX, and feel free to adapt or optimize this script.

You need to do some adaptation to make the script run well with your MD configuration (you have to edit some paths and some LUNs name).

Performance Values

Devices are:
  • RAID Controller Modules - The RAID controller module in slot 0 or 1 and a list of the virtual disks owned by the RAID controller module
  • Virtual Disk - A list of the virtual disk names
  • Storage Array Totals - A list of the totals for both RAID controller modules in an active-active RAID controller module pair, regardless if one, both, or neither are selected for monitoring

Total I/Os
  • Number of total I/Os performed since the storage array was started
Read Percentage
  • Percentage of total I/Os that are read operations (calculate the write percentage by subtracting the read percentage from 100 percent)
Cache Hit Percentage
  • Percentage of reads that are fulfilled by data from the cache rather than requiring an actual read from a physical disk
Current KB/second
  • Current transfer rate in kilobytes per second (current means the number of kilobytes per second since the last time the polling interval elapsed, causing an update to occur)
Current IO/second
  • Current number of I/Os per second (current means the number of I/Os per second since the last time the polling interval elapsed, causing an update to occur)

Article ID: SLN310555

Last Date Modified: 08/17/2018 04:55 AM

Rate this article

Easy to understand
Was this article helpful?
Yes No
Send us feedback
Comments cannot contain these special characters: <>()\
Sorry, our feedback system is currently down. Please try again later.

Thank you for your feedback.