By Stephen Hynes | October 26, 2018 | SANBlaze One of the features the SANBlaze software provides is detailed performance data over a test run. Before running initiator tests you must enable this feature:
There are a few options for collecting statistics. The LUN or Namespace is chosen in this example. You can export the data at any time, but in this example we are going to wait for the test to complete. Once the test has completed, there are multiple options for exporting the data. This is done by using the sb_filter tool from the CLI. Please consult the SANBlaze VirtuaLUN Enhanced Data Collection manual for more detailed information.
sb_filter -?
Usage:
sb_filter [options]
options:
-b Bin number to include (0 - 19), default is all, specify multiple if desired (ex. -b 0 -b 1)
-e EndTime (ex: -e 2/5/2015:16:00:00 or "2/5/2015 16:00:00)"
-s StartTime (ex: -s 2/5/2015:18:00:00 or "2/5/2015 18:00:00)"
-d DeltaTime (ex: -d 00:15:00, -d -3:00:00)
-f Output file name
-A Append to output file (don't overwrite)
-o Output format [CSV|JSON], if not specified will write both formats
-N Output at most this many lines
-P Pad output at 5-second intervals, when no data is available
-n List of input file names to process
-p Port range (ex: -p 2 -p 0,1,4-5)
-q Query [ReadLatency|WriteLatency|ReadUsecs|WriteUsecs|ReadIOs|WriteIOs|ReadBytes|WriteBytes|ReadCommandToTransferStartLatency|WriteCommandToTransferStartLatency|ReadCommandToFirstDataLatency|WriteCommandToFirstDataLatency|ReadCommandToLastDataLatency|WriteCommandToLastDataLatency|ReadCommandToStatusLatency|WriteCommandToStatusLatency]
Multiple queries can be specified (ex: -q ReadIOs -q WriteIOs)
-t Target range (ex: -t 2 -t 0,1,4-5)
-l LUN range (ex: -l 2 -l 0,1,4-5)
-a Array range (ex: -l 2 -l 0,1,4-5)
-i Specific LUNIds to include, enter as many as needed (ex: -i ### -i #### ... -i ###)
-x X Axis Options [log|time]
-y Y Axis Options [log]
-g Get data (0) or inventory (1)
-v be verbose (use multiple times for more verbosity)
StartTime +delta, EndTime +delta or Starttime and Endtime can be provided
If EndTime is not provided, current time is assumed
If StartTime is not provided, oldest data available is returned
Example: collecting the performance data on port 0 target 300 lun 1 after the test run. Determine the time the test was running. This can be done from the test results, find the StartTime and EndTime.
StartTime=Oct 23 16:19:07 EndTime=Oct 23 16:20:07
sb_filter -s 10/23/2018:16:09:00 -e 10/23/2018:16:21:00 -o CSV -p 0 -t 300 -l 1 -f /sfh/sb_data
Parsing performance data from /virtualun/webs/web/perf/init
Outputing data to /virtualun/webs/web/perf/output
Output format CSV
outputfile=/sfh/sb_data
No datatypes specified, show all
Start time=Tue Oct 23 16:09:00 2018 (1540325340)
End time=Tue Oct 23 16:21:00 2018 (1540326060)
Reading file port0_target300_lun1
Using specified output file /sfh/sb_data
Output dataset to /sfh/sb_data.csv
There are 13 data items for port0_target300_lun1
How to Quickly View Your Results
Use the SANBlaze provided sb_graph.xlsx file to compare your results. Copy the exported CSV file to a location where you can access it from your windows system. With a few easy steps you can link this excel file to your CSV data to graph the data and quickly analyze your results.
Follow these steps to link your CSV data to Excel:
Open sb_graph.xlsx
Select the DATA tab.
Select Connections
Select Properties
Select the Definitions tab
Select Browse…
Select the location where you have saved your csv file.
Select Open
Select Delimited radio button and click Next
Under Delimiters, enable Comma checkbox and disable the other checkboxes, then click Finish
Select OK
Close the Workbook Connections
Select Refresh ALL
There are 7 charts included in this spreadsheet.
Write_Latency & Read_Latency. Both of these graphs are Total IOs at latencies falling within the 16 Data collection bins as described by LatencyStart and LatencyWidth. The goal of this graph is to see the IO distribution of the IOs latency. Note: There is a good chance that all IOs might be in WriteLatency[0] or WriteLatency[15] and or ReadLatency[0] or ReadLatency[15]. In that case you need to adjust LatencyStart and LatencyWidth for your test. Please Consult SANBlaze VirtuaLUN Enhanced Data Collection for more detailed information on this.
Read_MinAvgMax_Latency. This graph will show the Read Latency minimum, Latency Average, and Latency Maximum in micro seconds.
Write_MinAvgMax_Latency. This graph will show the Write Latency minimum, Latency Average, and Latency Maximum in micro seconds.
Read_Write_MinAvgMax_Latency. This graph will show both Read and Write Latency minimum, Latency Average, and Latency Maximum in micro seconds.
Read_Write_IOPs. This graph will show the Read and Write IO per second.
Read_Write_Bytes. This graph will show the Read and Write Bytes per second.
Advanced Excel Users: How this Excel Spreadsheet works:
The sb_data sheet links to the CSV output you have set up (see above.)
Each of the headings on this sheet are defined as a name.
You can find these names under the Formulas tab and Name Manager.
For Example:
ReadLatency_0 =OFFSET(sb_data!$L$2,0,0,COUNTA(sb_data!$L:$L)-1)
This allows for your CSV files to have a different number of samples, and the graphs will auto scale to the number of points in that column. To update your CSV file, select Refresh and all the graphs will update.
All graphs included use these names for the Series values. If you would like to create additional plots, you can do so by using the predefined names. When selecting the data to graph, set the Series values: =sb_graphs.xlsx!HeadingName.
Click here to download the sb_graph.xlsx spreadsheet.
I tried to download this xlsx but it does not work.