Read test against empty and thin-provisioned volume doesn't reflect the actual performance
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Woodpecker Charm |
Fix Committed
|
Undecided
|
Unassigned |
Bug Description
We need to have more investigation, but it looks like 4M read test using woodpecker is too good to be true.
My gut feeling is that RBD volume is thin-provisioned by default in Ceph so the 4M read test is like reading data from 0-byte image file and it's assured that any block returns 0. So I suppose the test needs to be against a thick-provisioned volume so the access will be spread across multiple OSDs or actual random data should be written before doing the read test.
https:/
> Ceph Block Device images are thin provisioned. They don’t actually
> use any physical storage until you begin saving data to them.
https:/
> create (-s | –size size-in-M/G/T) [–image-format format-id]
> [–object-size size-in-B/K/M] [–stripe-unit size-in-B/K/M
> –stripe-count num] [–thick-provision] [–no-progress]
> [–image-feature feature-name]… [–image-shared] image-spec
>
> Will create a new rbd image. You must also specify the size via
> –size. The –stripe-unit and –stripe-count arguments are optional,
> but must be used together. If the –thick-provision is enabled, it
> will fully allocate storage for the image at creation time. It will
> take a long time to do. Note: thick provisioning requires zeroing the
> contents of the entire image.
tags: | added: field-ceph-dashboard |
We need to test with and without --thick-provision for: /github. com/openstack- charmers/ charm-woodpecke r/blob/ cc41c8969d1b1af b33e81c7ef04fa1 818ef4b651/ src/bench_ tools.py# L30-L35
https:/