[sheepdog-users] Object Cache Performance

Liu Yuan namei.unix at gmail.com
Thu Jan 9 10:26:01 CET 2014


On Thu, Jan 09, 2014 at 09:44:36AM +0100, Gerald Richter - ECOS wrote:
> Hi,
> 
>  
> I have done some performance tests with the object cache:
> 
>  
> All tests were done with the same 20GB image. I have two nodes in the test cluster, so there is a full copy of the image on the local node.
> 
>  
> 1.       “dog vdi read vm > file” with object cache enabled first time: ~10min
> 
> 2.       “dog vdi read vm > file” with object cache enabled second time: ~5min
> 
> 3.       “dog vdi read vm > file” without object cache: ~5min
> 
> 4.       “cp file file2” ~ 4min 
> 
>  
> This shows read access via sheepdog without object cache (3.) is about 80% of the speed of a direct copy (4.) of the same amount of data. 
> 
>  
> If the cache is already filled (2.), we have the same speed, but if the cache is used (1.) for the first time  we only get half of the speed. I guess this is because the cache needs to be filled, which requires twice the number of disk reads and writes. Since all data is already on the local node, the question is, is it really necessary to pass it through the cache or wouldn’t it be better to bypass the cache in this case?

This is expected result, cache means we firstly need to cache the data somewhere
else for furture read/write (thus future read/write accelerated, but for the
first reference, it will degrade the performance because we do some extra IOs)

It is really necessary to cache the data first for later reference, or how can
we accelerate the future operations without localy cached data? If your cluster
size grow, the effect of cache will more pronounced because 99% IO requests will
be satisified by cache locally (assume no cache overrun, no cache miss)

>  
> I have made all this tests with dog, so no qemu(-img) is involved, to be sure to test the newest version (0.7.6)

qemu-img convert will be much more faster than 'dog vdi read' because 'dog vdi read'
is singled threaded while qemu-img using aio (issue multiple requests at the same time)

Thanks
Yuan



More information about the sheepdog-users mailing list