Hello
I noticed an annoying difference in the performance of Ceph/RDB and the performance in the VM itself.
While RDB is fast as expected:
- 40GBe each on Storage Frontend and Backend Network,
- All Enterpise SAS SSD
- replica 2
- RDB Cache
- Various OSD optimizations
- KRBD activated on the pool
- Ceph Authx disabled
Result:
Is the performance in the VM (CentOS 7 x64, VirtIO-SCSI / Debian 10 x64 VirtIO-SCSI) significantly worse:
fio test over 16GB (with 2GB VM memory):
dd test: over 25GB (with 2GB VM Memory):
Result:
I ask myself all the time, where does this difference in performance come from. What could be tuned there?
I noticed an annoying difference in the performance of Ceph/RDB and the performance in the VM itself.
While RDB is fast as expected:
- 40GBe each on Storage Frontend and Backend Network,
- All Enterpise SAS SSD
- replica 2
- RDB Cache
- Various OSD optimizations
- KRBD activated on the pool
- Ceph Authx disabled
Code:
rados bench -p ceph-virtualmachines 30 write --no-cleanup
Code:
Total time run: 30.0404
Total writes made: 19918
Write size: 4194304
object size: 4194304
Bandwidth (MB/sec): 2652.17
Stddev Bandwidth: 85.7042
Max bandwidth (MB/sec): 2800
Min bandwidth (MB/sec): 2460
Average IOPS: 663
Stddev IOPS: 21,4261
Max IOPS: 700
Min IOPS: 615
Average Latency(s): 0.0241245
Stddev Latency(s): 0.01518
Max latency(s): 0.256767
Min latency(s): 0.00936511
Is the performance in the VM (CentOS 7 x64, VirtIO-SCSI / Debian 10 x64 VirtIO-SCSI) significantly worse:
fio test over 16GB (with 2GB VM memory):
Code:
write: IOPS=87.3k, BW=341MiB/s (358MB/s)(16.0GiB/48050msec)
dd test: over 25GB (with 2GB VM Memory):
Result:
Code:
dd if=/dev/zero of=test.img bs=1M count=25000
26214400000 bytes (26 GB) copied, 16.0823 s, 1.6 GB/s
dd if=/dev/zero of=test.img bs=1M count=25000 oflag=direct
26214400000 bytes (26 GB) copied, 47,8142 s, 548 MB/s
I ask myself all the time, where does this difference in performance come from. What could be tuned there?