【压测数据分享】VictoriaLogs 中的参数 `inmemoryDataFlushInterval` 对写入性能的影响

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!


inmemoryDataFlushInterval 是 VictoriaLogs 中数据刷入磁盘的时间间隔。默认值是 10s。
在同一个容器实例上,在同样的日志写入负载下,分别把 inmemoryDataFlushInterval 修改为 10s, 20s, 30s,测试每秒每核平均处理的日志量。
结论如下:

  • inmemoryDataFlushInterval=10s: 35.14 mb / 核 / s, 内存 1.62gb
  • inmemoryDataFlushInterval=20s: 41.81 mb / 核 / s, 内存 1.87gb
  • inmemoryDataFlushInterval=30s: 54.48 mb / 核 / s, 内存 1.76 gb (内存占用肯定会上升,但是可控)

测试结果符合预期。

当内存中积累的数据量足够多,则第一次就把数据加工好的概率增大。
理论上而言:延长写入磁盘的时间间隔,会导致第一次把 inMemoryBlock 进行 merge 并写入的时间变长了。
但是,因为第一次就把数据加工好了,后续在 merge 阶段消耗的总体 CPU 资源变少了。
最终,整体的写入性能会提升。

希望对你有用。😃

posted on 2025-11-21 15:35  ahfuzhang  阅读(19)  评论(0)    收藏  举报