小数据测试, 以便对硬盘 fsync 的速度有一个大概的了解. 结果:
rate | latency | 备注 |
---|---|---|
4044/s | 0.247ms | Intel SATA SSD |
19720/s | 0.051ms | Intel NVMe SSD |
结论: SATA 盘的 QPS 是 4000, NVMe 的 QPS 是 20000.
如果要开发一个分布式 KV 数据库, 那么对于每一个客户端请求, 至少进行 1 次日志 fsync. 为了提高吞吐量(QPS), 日志模块必须进行 batch 持久化.
如果 batch 大小是 25 的话, 普通 SATA SSD 盘能达到 10w qps, 而 NVMe SSD 只需要 batch 是 5 即可达到 10w qps.