Do a bunch of benchmarking and update ceph-benchmarking section

This commit is contained in:
lol3rrr
2026-02-21 15:53:19 +01:00
parent b09c8f455c
commit e11bfdc559
18 changed files with 8430 additions and 7 deletions

View File

@@ -39,16 +39,60 @@ Setup the benchmark itself:
5. `mount /dev/rbd0 /mnt/bench`
## Benchmarks
{% mermaid() %}
xychart
title "Random Read"
x-axis "Block Size" ["4k", "8k", "4M", "8M"]
y-axis "IOPS" 0000 --> 5000
bar [0, 0, 0, 0]
## Results
{% details(summary="Random Reads - 1 Job") %}
{{ fio_benchmark(path="content/ceph-benchmarking/benchmarks/random_read.json") }}
{% end %}
{% details(summary="Random Writes - 1 Job") %}
{{ fio_benchmark(path="content/ceph-benchmarking/benchmarks/random_write.json") }}
{% end %}
{% details(summary="Sequential Reads - 1 Job") %}
{{ fio_benchmark(path="content/ceph-benchmarking/benchmarks/seq_read.json") }}
{% end %}
{% details(summary="Sequential Writes - 1 Job") %}
{{ fio_benchmark(path="content/ceph-benchmarking/benchmarks/seq_write.json") }}
{% end %}
## TODO
- Try directly on the block device
- Try this using xfs instead of ext4
- Try this with and without drive caches
## Details
{% details(summary="Command to convert raw data into vis data") %}
```bash
jq '[.jobs[] | { iodepth: ."job options".iodepth, bs: ."job options".bs, operations: { iops: .write.iops, bw_bytes: .write.bw_bytes } }]' content/ceph-benchmarking/benchmarks/raw_random_write.json | jq '
# collect sorted unique labels
(map({key:.bs,value:1})|from_entries|keys_unsorted) as $labels
|
{
labels: $labels,
iodepths:
(
group_by(.iodepth)
| map(
. as $group
| {
iodepth: ($group[0].iodepth | tonumber),
iops: [
$labels[] as $l
| ($group[] | select(.bs == $l) | .operations.iops) // null
],
bw: [
$labels[] as $l
| ($group[] | select(.bs == $l) | .operations.bw_bytes) // null
]
}
)
)
}
'
```
{% end %}