I test nbd performance when I divide image into multiple backing files.
The image is 512GB, I divide it into 1, 16, 32, 64, and 128 backing files.

Ex: If I divide it into 16 files, each backing file is 512/16=32GB.
If I divide it into 64 files, each backing file is 512/64=8GB  and so on.

*Mount command: qemu-nbd -c /dev/nbd0 image*

*Cmd to test:*
*Read:*

fio -bs=1m -iodepth=16  -rw=read -ioengine=libaio -name=mytest -direct=1
 -size=512G -runtime=300 -filename=/dev/nbd0

*Write:*

fio -bs=1m -iodepth=16  -rw=read -ioengine=libaio -name=mytest -direct=1
 -size=512G -runtime=300 -filename=/dev/nbd0


All images are on the RAID0(3 SSD).
Below is the performance:

* image numberseq. read(MB/s)seq.
write(MB/s)1148060161453363214503664143036128140036*
The seq. read performance is very well than write.
1. Does nbd cache the data defaultly and make read so quickly?
2. The write performance isn't so good, Does nbd do something to decrease
the performance?

Reply via email to