Testing HM4 db_merge with different disk elevators


Setup

HM4 is an NoSQL database with Redis interface https://github.com/nmmmnu/HM4/.

All tests are made on i7 6700K with 32 GB RAM on Linux 7.0.9 with a software RAID6 consisting of 6 spinning HDDs (four WDC RED at 5400 rpm, and two Ultrastars at 7200 rpm).

The disks are connected via an LSI Inspur 9211-8i 6Gbps host bus adapter (HBA mode).

The merge process was executed on 17 files: 16 files of 7.1 GB each and one file of 1.5 GB.

The resulting database file size is 114 GB (+ 7.3 GB index file).

This means the mmap-ing about 115 GB in 17 files and then create 4 files with total size of 121 GB.
All mmap's are madvice'd as sequential.

During the tests, individual disks never reached 100% utilization, but the aggregate RAID block device did reach 100% under specific schedulers.

Results

# Elevator Time 1
[mm:ss]
RAID 1
[util]
Time 2
[mm:ss]
RAID 2
[util]
1 bfq 08:32 100% 17:26 ~70%
2 mq-deadline 14:36 100% 18:19 ~70%
3 kyber 16:35 ~75% 18:32 ~75%
4 none 17:01 ~70% 19:08 ~70%

Copyleft 06.2026, Nikolay Mihaylov
nmmm@nmmm.nu