[journal] tweak config defaults to improve small-IO performance
Small IO throughput w/ journaling enabled is substantially worse than the expected worse-case of 2x the latency / 0.5x the IOPS. Tweak the config defaults to try to reduce the performance hit for small IO.
I suggest we create a new "rbd_journal_object_writethrough_until_flush"-style object (i.e. similar to "rbd_cache_writethrough_until_flush") which is defaulted to true. Then we can set "rbd_journal_object_flush_bytes" to 1MiB (i.e. similar to the current cache defaults when combined w/ the next point) w/o the need to worry about inconsistent IO in the case of failure since we know the app is sending flushes. Finally, increase the default "rbd_journal_splay_width" to 16 since (1) it's the default for "rbd bench", (2) it should match the max expected queue depth of workload.
The above are just ideas and should be tested to verify the best performance for small IO workloads.