Friday, April 25, 2014

Nimble Performance 101 - CLI Style

Hi Friends,

Ever wanted to know what your Nimble array was doing at the CLI?  Sure you do, you know deep down you're an egg head like me!  GUI's are for wimps!  Okay, I admit, I like GUI's and lately they seem to be what I use most of the time.  The performance GUI and InfoSight are pretty darn cool, but there's something about getting the data straight from the CLI, it's more raw...  That and it looks cool scrawling across your window when your boss walks by.

"Hey, whatcha doing there Neil?"

"Why I'm doing live performance gathering of our Nimble array, Sir."

"Wow, that's really cool, you deserve a raise!"

Okay, so the sky is a funny shade of blue in my world, but getting numerical metrics from the array right when things are happening is very helpful.  You can select for specific data and see it role by as it's happening.  It's also great if you want to create your own graphs in Excel.

So, without further digressions....

Log into your array's CLI.  Here I'm logged in as Admin.

Now, type "stats".  You'll start to get some stats, but they're going to be some pretty large numbers.  This is because it's all of the stats combined.  Good for historical purposes, but not so good if you want to see what's happening right now.

What we need is to see the difference from when we start to the time we end.

So let's type in "stats --diff".

Ah, now we're getting somewhere!  These look a lot more what I want to see.  We can see reads,
writes, sequential, what the SSD's are doing, HDDs, etc.  Lots of good stuff!  But this is just the beginning!  If you're ready for it, you can always do a "stats --help".

What if you're a VDI person like me and you want to see what IOsize your workload?  Blocksize is REALLY important so this command is like gold!!

Type in "stats --diff --perf <the volume you want to check your IOsize against> --iosize"

So now you can see if the workload is 512Bytes, 4K, 32, 64, etc!  Very cool!!  If you don't want to focus in on a single volume you can substitute in "sys" for a more holistic view of the array.

Now what about certain time intervals?  Say you ran a performance test and you didn't have a chance to look at the data right away.

Type, "stats --diff --show_time --interval 60 --from 2014-04-25,07:45:00 --to 2014-04-25,08:07:00"

This will show you in 60 second intervals all the stats data from 7:45am till 8:07am on April 25th of 2014.

So how about comma delimited for Excel?  And what if you don't want the header popping up all the time?

Type, "stats --diff --show_time --interval 60 --csv --hdr 10000 --from 2014-04-25,07:45:00 --to 2014-04-25,08:07:00"

The cool thing is you can direct the command to a file and then SCP the file onto your desktop so you can put it into Excel.  Pretty cool huh?

And when all else fails, type, "stats --help".  Yep, there's a ton more you can do and the "help" will tell you how.

I hope you've enjoyed the 101, be on the lookout for more comprehensive performance blogs!  :-)


1 comment:

  1. I have a client who asked "We have seven super users who have 100's of files that are 300-GB to 700-GB each, for each user! These are Adobe images (photoshop, etc.). Should we NOT cache these and NOT compress them? And what is the read time of a 700-GB image? Can you show us a simulation?" I said we could set up something. Got any feedback?