> I tried doing some fio test on local disk(NVME) and ceph rbd. Why ceph is 
> having low IO whereas it’s also on all NVME.
> What to tune to reach equal amount of IO?
>
> root@node01:~/fio-cdm# python3 fio-cdm ./
> tests: 5, size: 1.0GiB, target: /root/fio-cdm 6.3GiB/64.4GiB

You should really make sure the size of the disk object you make tests
on are larger than available ram. I don't know what options your
fio-cdm script gives, but 1G is super easy for a machine to cache in
ram, so that could skew the tests totally.
Apart from that, it will ALWAYS be slower to read data across network
(even if network to localhost), and if the RBD is on a replicated
pool, then of course it will need to wait for acks on the replicas
before allowing the client to know the write has been done, which
again slows it down more.

Finally, the SEQ1Q tests sounds a lot like as if it was like running
"dd" against ceph which is basically the worst possible kind of test
for a cluster network storage system.

Firstly, it is basically something very very few clients need
optimizing for, linear dd with no queuing means "write 1 meg, wait for
ack, do nothing until ack comes, then write 1 meg more and go back to
waiting".

This says more or less nothing about a storage cluster which ties in
to the second part, what to use a cluster for. Most clusters are used
to handle many clients doing cephfs, or many clients each mounting one
or more RBD images, or many RGW frontends each serving many parallel
client sessions. So even if each other those clients would be doing
the linear "dance" of "write, wait, wait, write, wait, wait, write",
the cluster in total would obviously have a much larger throughput,
because some other client will of course be reading and writing to
other disks while first client is waiting for acks.

-- 
May the most significant bit of your life be positive.
_______________________________________________
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io

Reply via email to