Estimates how parallel batches count affects load time of same amount of persistent data. The lesser score (average load time), the better. Larger data to load compared to other benchmarks for longer test to be sure and with FSYNC WAL. Results in short: looks like 1 batch per thread is enough. But we can keep x2 for network issues. servers - server nodes maxDsOps - streamer's batches per node sendMsgDelay - simulated network delay or write responses. ================================================================================================================================================================== Benchmark (cacheWriteMode) (maxDsOps) (sendMsgDelay) (servers) (walMode) Mode Cnt Score Error Units SERVERS: 3 >>> [Same load time] JmhPersistentStreamerReceiverBenchmark.benchDefaultIsolated PRIMARY_SYNC 16 3 3 FSYNC avgt 5 73,304 ± 7,379 s/op JmhPersistentStreamerReceiverBenchmark.benchDefaultIsolated PRIMARY_SYNC 32 3 3 FSYNC avgt 5 71,660 ± 12,977 s/op JmhPersistentStreamerReceiverBenchmark.benchDefaultIsolated PRIMARY_SYNC 64 3 3 FSYNC avgt 5 69,855 ± 17,046 s/op JmhPersistentStreamerReceiverBenchmark.benchDefaultIsolated PRIMARY_SYNC 128 3 3 FSYNC avgt 5 69,760 ± 16,378 s/op === FULL_SYNC: >>> [Same load time] JmhPersistentStreamerReceiverBenchmark.benchDefaultIsolated FULL_SYNC 16 3 3 FSYNC avgt 5 74,296 ± 5,932 s/op JmhPersistentStreamerReceiverBenchmark.benchDefaultIsolated FULL_SYNC 32 3 3 FSYNC avgt 5 58,696 ± 12,019 s/op JmhPersistentStreamerReceiverBenchmark.benchDefaultIsolated FULL_SYNC 64 3 3 FSYNC avgt 5 72,845 ± 10,253 s/op JmhPersistentStreamerReceiverBenchmark.benchDefaultIsolated FULL_SYNC 128 3 3 FSYNC avgt 5 70,263 ± 8,201 s/op ================================================================================================================================================================== OS: Linux void 5.18.0-4-amd64 #1 SMP PREEMPT_DYNAMIC Debian 5.18.16-1 (2022-08-10) x86_64 GNU/Linux JMH 1.13 VM version: JDK 11.0.2, VM 11.0.2+9 VM options: -Xms2g -Xmx2g -server -XX:+AlwaysPreTouch CPU: vendor_id : AuthenticAMD cpu family : 25 model : 80 model name : AMD Ryzen 7 5800U with Radeon Graphics cpu MHz : 1600.000 cache size : 512 KB siblings : 16 cpu cores : 8 cpuid level : 16 Disk: `dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync`: 1073741824 bytes (1,1 GB, 1,0 GiB) copied, 1,25661 s, 854 MB/s `dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync`: 512000 bytes (512 kB, 500 KiB) copied, 2,80265 s, 183 kB/s