How to properly benchmark caching benefits

Software-based VM-centric and flash-friendly VM storage + free version

Moderators: anton (staff), art (staff), Max (staff), Anatoly (staff)

Post Reply
alozzy
Posts: 10
Joined: Sat Feb 09, 2013 1:09 am

Sat Mar 16, 2013 1:05 am

Hi,

I'm currently evaluating StarWind and have already collected performance data using IOMeter (for 4K, 8K, 16K, 32K , 64K, 128K, and 256K IO sizes).

I'm using the following IOMeter config parameters for each IO size:

Max disk size: 30000000 sectors (15GB file)
# of outstanding IOs: 16
# of workers: 1
Update frequency: 5 secs

50/50 read/write ratio, 60% random IO, 2 minute run time with 20 second ramp up time. All other settings are default.

I've setup two image files on the iSCSI target, one with no read caching and the other with a 1GB cache (write-through cache policy).

I'm seeing very little differencein IOPS or throughput with caching enabled. Why?

I'd like to benchmark the performance gains of caching given as close to real-world IO patterns for a small VMware ESX cluster running roughly 20 VMs with varying IO patterns. I think my assumptions about this aggregate workload are pretty realistic (50/50 read/write, 60% random IO) although the read/write ratio is probably closer to 30% read, 70% write.

Is there a metric within StarWind that provides cache hits?

Thanks!

Alan
User avatar
anton (staff)
Site Admin
Posts: 4021
Joined: Fri Jun 18, 2004 12:03 am
Location: British Virgin Islands
Contact:

Sat Mar 16, 2013 1:08 am

I guess b/c Intel I/O Meter does not read the same LBAs again and again (read cache does not work) and does not read what he had recently written (write cache does not work either).

What's your production workload?
Regards,
Anton Kolomyeytsev

Chief Technology Officer & Chief Architect, StarWind Software

Image
alozzy
Posts: 10
Joined: Sat Feb 09, 2013 1:09 am

Sat Mar 16, 2013 1:26 am

Bunch of different workloads, few of them are disk intensive though...

We are a Citrix Service Provider so most of our VMs are Citrix Xenapp servers...

We have three file servers, two SQL servers (just used for accounting software, nothing very intensive), a vCenter VM, and a couple of web servers (again, nothing very disk intensive). The rest of the servers are Xenapp servers (glorified workstations).

I've now benchmarked using ATTO within the VM (target VMDK is stored on VMFS that's sitting on LUN exposed by StarWind - one LUN with caching one without).

I'm now seeing 40% or better performance gains for the sequential reads generated by ATTO for a range of IO sizes.

I'm wondering though how much real-world benefit there is to a read cache though, given the random IO nature of a typical SMB ESXi server. How big of a cache would I need to see much benefit?

Thanks,

Alan
alozzy
Posts: 10
Joined: Sat Feb 09, 2013 1:09 am

Mon Mar 18, 2013 8:44 am

Hi,

I should have mentioned one more very important workload - PHD Virtual Backup v6.2

We use that software to backup all of our VMs to a dedup store on our SAN. The quicker the SAN, the smaller our backup window needs to be at night. We have both east coast and west coast customers, so reducing the length of backup jobs is important. I haven't yet profiled the IO patterns for PHD Backup, but I suspect that there's plenty of sequential read and write IO. Having a read cache should certainly help.

I plan on deploying a temporary PHD VBA that uses a StarWind LUN for it's dedup repository and place on another StarWind LUN a VM to act as the source for backup testing. I'll compare cached to non-cached to see how much of a difference there is in the backup job length.

Any advice you can offer on how big a read cache to use would be helpful...

Thanks,

Alan
alozzy
Posts: 10
Joined: Sat Feb 09, 2013 1:09 am

Tue Mar 19, 2013 12:37 am

Hi,

Can no one from StarWind offer advice on how to benchmark so that I can see evidence that StarWind's read-cache enabled iSCSI target will consistently outperform the MS iSCSI target v3.3?

So far, I'm not really seeing a lot of benefit for real-world workloads other than perhaps purely sequential, 100% read workloads (we don't really have any of those in our environment)...

Thanks,

Alan
User avatar
Anatoly (staff)
Staff
Posts: 1675
Joined: Tue Mar 01, 2011 8:28 am
Contact:

Thu Mar 21, 2013 10:52 am

Hi,

if system has constant random access to all data that is currently stored on the cache powered device, then effect will be proportional to the (cache size)/(storage size) ratio. But usually there are "hot zones" (the data blocks that are really often are under use), but that directly depends on the scenario.

If user has sequential access to the data maybe it is good idea to configure couple hundreds MBs of RAM for cache.

you are is obviously welcomed to benchmark the cache-based and non-cache devices (by the way here is the good document dedicated to this topic:
http://www.starwindsoftware.com/starwin ... t-practice ) but I`d like to clarify, what was the exact difference between benchmarking results for cache based and noncache based devices?. One important thing that I`d like to mention is that the more RAM will be assigned for cache, the more performance user should get, but there is no linear dependency.
Best regards,
Anatoly Vilchinsky
Global Engineering and Support Manager
www.starwind.com
av@starwind.com
Post Reply