I have been doing some testing with striped rbd images and have a
question about the calculation of the optimal_io_size and
minimum_io_size parameters.  My test image was created using a 4M object
size, stripe unit 64k and stripe count 16.

In the kernel rbd_init_disk() code:

unsigned int objset_bytes =
             rbd_dev->layout.object_size * rbd_dev->layout.stripe_count;

         blk_queue_io_min(q, objset_bytes);
         blk_queue_io_opt(q, objset_bytes);

Which resulted in 64M minimal / optimal io sizes.  If I understand the
meaning correctly then even for a small write there is going to be at
least 64M data written?

My use case is a ceph cluster (13.2.4) hosting rbd images for VMs
running on Xen.  The rbd volumes are mapped to dom0 and then passed
through to the guest using standard blkback/blkfront drivers.

I am doing a bit of testing with different stripe unit sizes but keeping
object size * count = 4M.  Does anyone have any experience finding
optimal rbd parameters for this scenario?

Zynstra is a private limited company registered in England and Wales 
(registered number 07864369). Our registered office and Headquarters are at The 
Innovation Centre, Broad Quay, Bath, BA1 1UD. This email, its contents and any 
attachments are confidential. If you have received this message in error please 
delete it from your system and advise the sender immediately.
ceph-users mailing list

Reply via email to