influxdb - 单个硬盘上的多进程 fsync 停顿
问题描述
fsync/fdatasync 调用很昂贵,但它们在数据库中是必不可少的,因为它允许 ACID 中的持久性。正如我所测试的,当只有一个进程定期进行一些写入和 fsync 时,每个 fsync 大约需要 50 毫秒。但是当有多个进程在做同样的事情时,比如说其中两个,有时(可能 50%)fsync 会花费大量时间,数百或数千毫秒,甚至数十秒,显然系统在这种情况下变得无法使用。我想知道如何在数据库中解决这个问题,特别是在分布式时间序列数据库中,当有多个节点使用单个硬盘时。
解决方案
推荐阅读
- java - 验证 tableviewer 行并显示错误
- apache-spark - 在客户端模式下运行应用程序时,究竟在哪里触发读取本地文件
- c++ - “char const * name() const _WEBSOCKETPP_NOEXCEPT_TOKEN_ {”是什么意思
- ios - 当应用程序从后台处于活动状态时,如何避免在本机反应中安装组件?
- c# - C# 中的 ODP 不返回 Oracle DATE 类型列默认值
- php - 需要总时间的空闲时间段
- c++ - 如何在 C++ 中仅访问 unordered_set 的元素?
- docker - Kubernetes podAffinity
- ios - 外部硬件指纹扫描仪和 iPhone 设备集成
- android - 在 Android 上的 OpenGL ES 1.0 上更快地绘制批次对象