This post is more than 5 years old
119 Posts
0
3371
Test CIFS/Pool load capability
Hello,
We have a CIFS share on RAID 6 (6 + 2) NL-SAS disks.
I have theoretical calculations this pool is capable of to handle below;
1) IOP per disk * total disks = 80 * 8 = 640 IOPS
2) MB/s per disk * total disks = 80 * 16 = 128 MB/s
But I want to know how can I generate TEST load on this CIFS share on this pool, to calculate real time statistics this pool is capable of to handle.
Thanks.
kelleg
4.5K Posts
0
June 24th, 2015 08:00
When you run IOmeter and select a disk, that disk on the array is one device (at least if this is a Block configurations - the LUN which is in a Pool) and the IOPS (187.82) is what the LUN can handle, not the individual physical disks under the LUN that make up the Pool. For FILE it's a bit different as File takes a LUN(s) and creates a file system on the array and then presents that to a host as a device (I think this is correct - I'm not a File person). That File system may behave differently than a LUN on the Block side.
If you have 8 physical disks in the Pool using Raid 6, then you have a 6+2 configuration. Each individual disk can handle about 80 IOPS. So the total Pool can handle about 8 (disks) * 80 IOPS = 640 IOPS for the Pool. The 80 IOPS is based on a small block (less than 32KB IO Size), random IO (combination of Reads and Writes 70/30) workload. If you increase the IO Size, then IOPS will be less, but Bandwidth increases. Check page 115 in the "EMC Unified Storage Best Practices for Performance and Availability - Common Platform and Block Storage 31.5 — Applied Best Practices.pd" document that I attached in my last post.
glen
SunshineM
119 Posts
0
June 18th, 2015 04:00
Awaiting reply from anyone please.
Peter_EMC
674 Posts
0
June 18th, 2015 06:00
Sorry, I do not understand your calculations.
80 * 16 is not 128
Isn t the bandwidth highly dependent on the size of the IOs?
And shouldn´t there be a difference between read or write, especially when using Raid-6
SunshineM
119 Posts
0
June 22nd, 2015 05:00
Sorry it should be 1280 MB/s.
Basically those are the calculations I have done based on the IOPs and MB per disk can handle, hence multiplied by total disks in the Raid group.
But the thing is I need to generate load on NAS pool and then capture performance statistics. so I am looking for how to do it?
Any such tool available to generate load for test purpose?
Thanks
kelleg
4.5K Posts
0
June 22nd, 2015 09:00
For the NL-SAS disk
About 80 IOPS per disk so your first calculation is correct: 80 * 8 = 640 IOPS
About 8MB/s per disk: 8 * 8 = 64MB/s for the raid group.
Both of these calculations are dependent on the IO size and the IO Type (reads or writes) and pattern (random or sequential).
You might try IOmeter for testing from the host. On the array you need to enable Data Logging. Set the Archive Interval to 60 seconds, Enable Periodic Archiving, set Stop After to 1 day, then Start Data Logging. When Data Logging is running you must collect at least 10 data points before a archive can be created. That means you must let Data Logging run for a minimum of 11 minutes (each data poll is one minute).
Set you test to run for at least 30 minutes, then stop test, then Stop Data Logging. A new Archive will be created when you stop Data Logging and will contain the data points from that point back 2.6 hours or to when you started the test.
For more information using using Data Logging see KB article 11289 https://support.emc.com/kb/12289
Other article contained in KB 12289:
9196 "How do I enable Navisphere Analyzer monitoriing in FLARE Release 24 and later"
14039 "How do I use Navisphere or Unisphere UI to collect NAR or NAZ files?"
8677 "How do I automate the collecting of .NAR files?
glen
SunshineM
119 Posts
0
June 22nd, 2015 10:00
Ok, I will try IO meter.
How can I test Throughput (MB/s) and Latency (ms)?
Thanks.
kelleg
4.5K Posts
0
June 22nd, 2015 11:00
The FAQ for IOmeter explains how to run it. If you want to test for Throughput you would use a small block IO Size - say 4KB or 8KB size. If you want to test for Bandwidth you would use a larger IO Size - say 32KB or 64KB. You start with 100% Sequential Reads or 100% Sequential Writes, then try 100% Random Reads or 100% Random Writes. Generally 100% Sequential Writes should be the fastest. followed by 100% Random Writes, then 100% Sequential Reads and last 100% Random Reads.
You can also set the Queued IO's to get better performance - I've found that 10 queued IO's seems to provide the best results. You can also set more users (each "User" is a thread) as multiple threads leads to better performance. Try a single User first, then add more to see what you get.
In IOmeter it will show the response times while running - you can set the "update" rate to 1 second for the fastest rate. IOmeter will just send out IO as fast as it can, it does not bother with what the response times are, just how fast it can transmit data. so at the fastest rate the latency should be high.
What this will show is the raw performance of the array and the raid group that you will be using. This will also show the effect of the pre-fetching for the 100% Sequential Reads. The Writes will show the effects of the amount of Write cache configured on the array. You want to use a "Maximum Disk Size" to a size (in sectors) that is greater than the size of the Write cache otherwise the Write tests can run in the Write cache and not really test the underlying disks (the write cache flush to disk when Write cache gets full). If your Write cache is 8GB, then the size of test file should be 2x that size (16GB). In IOmeter you would set the "Maximum Disk Size" to 64,000,000 sectors. This will create a 32GB file on the LUN under test. Not sure how you do this on the File side of the array though. I've only run this on the Block side with a host connected to the Block and not the File side.
glen
SunshineM
119 Posts
0
June 23rd, 2015 06:00
Glen, you are the champ!!!!!!!!!!!!!
You took me in the direction I was looking after.
I have installed and ran IOmeter, with 512kb 100% read and 100% write. Also with 512kb 70-30% read/write ratio.
Attached are the results but could not interpret.
How to interpret or understand the values, please help?
Attached are the results.
Thanks.
SunshineM
119 Posts
0
June 23rd, 2015 10:00
Hello Glen,
Awaiting your reply please
Thanks.
kelleg
4.5K Posts
0
June 23rd, 2015 12:00
The interpretation of the results is pretty much up to you. The values for IOPs (IO per second) and Response Times are what you're looking for. IOPS is what the array is providing for the configuration that you use in the test (the Pool or raid group and the LUN). Response Times are the average of all the IO's sent to the array and how fast the array is responding to each IO sent to it.
This may help:
Ask the Expert: Performance Calculations on Clariion/VNX
http://storagesavvy.com/2011/03/30/performance-analysis-for-clariion-and-vnx-part-1/
glen
SunshineM
119 Posts
0
June 23rd, 2015 23:00
I understood by the "Average" values, but what does it mean by the "Minimum" & "Maximum" values in the IOmeter results.
Does "Maximum" means that LUN or Pool is capable of handling upto that much IOPs?
What does "Maximum" MB/s value means w.r.t to that LUN or Pool?
So looking at the results for DISK (mapped drive) what does below values means?
IOPs: 187.82
Read IOPs: 118112
Write IOPs: 50982
MBpS: 98.47
Average Response Time: 5.32
Maximum Response Time: 1500
Here I want to know below;
1) What is the Maximum IOPs that my LUN/POOL can handle
2) What is the lowest Response Time that my LUN/POOL can achieve
3) What is the Maximum bandwidth my LUN/POOL can handle
Thanks.
kelleg
4.5K Posts
0
June 24th, 2015 07:00
IOPs: 187.82 - this means the disk was able to handle 187 IOs per second
Read IOPs: 118112 - this is the total number of Read IO's
Write IOPs: 50982 - this is the total number of Write IO's
MBpS: 98.47 - this is the bamdwidth - the MB per secind
Average Response Time: 5.32 - this is the average response time of all the IOPS divided by the time of the test
Maximum Response Time: 1500 - this is the longest time that an individual IO took
1) What is the Maximum IOPs that my LUN/POOL can handle - that depends on the IO Size and the type of IO (reads or write) and the mix of Reads vs Writes and the randomness of the IO.
2) What is the lowest Response Time that my LUN/POOL can achieve - see answer for #1 - it all depends on a lot of factors
3) What is the Maximum bandwidth my LUN/POOL can handle - same as #2
In general we can not provide specific performance for a Pool as the performance of the pool depends on a lot of factors (see above) and what the requirements are for response time. If you don't care what the response time is, then the maximum Throughput (IOPS) or Bandwidth (MB/s) can be high. If you have a response time requirement, for example, response times must be less than 10ms, then the Throughput/Bandwidth will be lower.
I've attached two documents that will help explain this.
glen
2 Attachments
EMC Unified Storage Best Practices for Performance and Availability - Common Platform and Block Storage 31.5 — Applied Best Practices.pdf
EMC Unified Storage System Fundamentals for Performance and Availability.pdf
SunshineM
119 Posts
0
June 24th, 2015 08:00
Actually I framed my question differently, my fault.
I know there are a lot factors that depends on. But on these IOmeter values, can I relate like below to get rough idea;
Note: I have taken 512kb file size with 70-30 Read-Write ratio
1) IOPs: 187.82 = 187.82 * (total disks in RAID 6 where my CIFS share exist) = 187.82 * 8 = ~ 1500 IOPs
So is my current RAID 6 capable of handling ~ 1500 IOPs ?
2) MBpS: 98.47
So is my current RAID 6 capable of handling ~ 98 MBpS of traffic?
3) Latency: 5.32 ms
So my current RAID 6 can handle ~ 5.32 ms of latency, not below that?
Thanks.
SunshineM
119 Posts
0
June 24th, 2015 09:00
I agree with your later theoretical calculation. This is what I showed to my manager in the very beginning, but my manager wanted realistic figures.
So I posted in this community for any such tool, for which IOmeter is ok.
Now, about the realistic numbers, that also I got from IOmeter,
But difficulty is interpreting the results, where I am getting confused.
How to interpret these results which I have tested on CIFS share (mapped as network drive to one of the VM). And I ran IOmeter from this VM on ONLY this mapped CIFS share.
Please help me understand my results based on 512kb, 70-30 read / write ratio.
Please help.
Thanks.
SunshineM
119 Posts
0
June 24th, 2015 22:00
No one can answer my query?
Please help.