Poor randwrite fio performance result

tincboy

Renowned Member
Apr 13, 2010
466
3
83
I've a SSD based Ceph cluster with 3 nodes, the read IOPS is about 250K with 96 parallel fio jobs ( running from 3 different nodes ), the reasults are fine.
But the Write performance is not more than 2k IOPS when more than 1 parallel jobs is running. ( with only one job I can reach 15K write IOPS )
My concentration is now on improving write IOPS.
is there anything I should consider when testing with fio the randwrite scenario ?
Code:
[global]
#logging
ioengine=rbd
clientname=admin
pool=tests
rbdname=fio_test
invalidate=0    # mandatory
rw=randwrite
bs=4k
time_based
runtime=60
numjobs=1

[jobinfo]
iodepth=100
 
The problem is that with multiple jobs with 1rbd, you have the exclusive_lock feature on rbd volume(only write from 1 client/job at same moment).

you can try to test with multiple rbd volumes, on try to desactivate exclusive_lock feature (for testing only) on the rbd volume.
 
The problem is that with multiple jobs with 1rbd, you have the exclusive_lock feature on rbd volume(only write from 1 client/job at same moment).

you can try to test with multiple rbd volumes, on try to desactivate exclusive_lock feature (for testing only) on the rbd volume.
Thanks, you are right indeed.
I've figured it out by "--image-shared" option when creating fio image, like code below:
Code:
rbd -p rbd create --size 2048 fio_test --image-shared
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!