I have previously blogged about the Performance monitoring panel that IBM added to the Storwize V7000 and SVC GUI. You can find that post with links to some YouTube videos here. IBM introduced this panel in version V6.2 of the code and enhanced it in V6.3. What I didn’t mention at the time was that the same information shown in that GUI panel was also available in the CLI, by using two new commands: lssystemstats and lsnodestats. I have hyperlinked both commands to take you to the SVC Information Center (for more detailed description of the output).
The nice trick here is that you can use them to access some very useful instant performance information without starting the GUI at all. Here are a just a few of the lines of output you will get from the system stats command. You can see the Fibre Channel (fc) traffic in MBps and IOPS and the overall VDisk (volume) and MDisk response time in milliseconds (ms), throughput in MBps plus the IOPS.
dr1-poc:~ # svcinfo lssystemstats stat_name stat_current stat_peak stat_peak_time cpu_pc 0 0 120622045248 fc_mb 365 365 120622045248 fc_io 17724 17724 120622045248 vdisk_mb 135 135 120622045248 vdisk_io 2169 2169 120622045248 vdisk_ms 5 5 120622045248 mdisk_mb 80 80 120622045248 mdisk_io 539 539 120622045248 mdisk_ms 18 18 120622045248
We can also query specific nodes. Here is an example run against node 1 in my SVC cluster. Again I have not shown all the output, just a few example lines. You can see that read (_r_) and write traffic (_w_) is shown separately.
dr1-poc:~ # svcinfo lsnodestats 1 node_id node_name stat_name stat_current stat_peak stat_peak_time 1 node1 cpu_pc 3 3 120622045503 1 node1 fc_mb 307 347 120622045453 1 node1 fc_io 13239 14414 120622045258 1 node1 vdisk_r_mb 92 96 120622045458 1 node1 vdisk_r_io 1485 1545 120622045458 1 node1 vdisk_r_ms 0 0 120622045503 1 node1 vdisk_w_mb 93 102 120622045258 1 node1 vdisk_w_io 1502 1647 120622045258 1 node1 vdisk_w_ms 7 10 120622045248 1 node1 mdisk_r_mb 6 70 120622045248 1 node1 mdisk_r_io 26 285 120622045248 1 node1 mdisk_r_ms 3 6 120622045343 1 node1 mdisk_w_mb 12 14 120622045423 1 node1 mdisk_w_io 240 275 120622045423 1 node1 mdisk_w_ms 24 35 120622045248
You can also filter on just one (or more values). If you are interested in confirming your CPU utilization before turning on Realtime Compression, here are some commands you could run. Firstly this command will show just the CPU utilization at that moment:
svcinfo lssystemstats -filtervalue stat_name=cpu_pc
If you plan to output to a file, run the same command with no header:
svcinfo lssystemstats -nohdr -filtervalue stat_name=cp
You can also get five minutes of history. You could run this every five minutes (outputing to a file) to build a view over a longer period:
svcinfo lssystemstats -nohdr -history cpu_pc
In all the cases above, we are looking at an average of both (or all) nodes (the system stats). You could also run the same commands against just one node with lsnodestats. In this example I run them against node one:
svcinfo lsnodestats -nohdr -history cpu_pc 1
So next time you’re logged onto the CLI, checkout these commands and add them to your repertoire of handy CLI tricks, or even script them and build your own instant performance monitoring tool (which is an interesting idea).
For more hints about using the SVC and Storwize V7000 CLI read my earlier blog post here. There is also a page on IBM developerWorks here dedicated to SVC and Storwize V7000 scripting. Check it out! If you have any cool scripting hints I would love to hear them.