mongodb - MongoDB 的 fsync 是做什么用的?

我使用 MongoDB 已经有一段时间了,看到 fsync 等待数据刷新到磁盘。好的,所以我认为这是数据安全的解决方案。

它运行良好,需要比 SQL 替代方案更长的时间。然后我看到我可以把 syncdelay 放到 0,然后速度又回来了,但我想将来有很多并发请求会怎么样。所以我从更新和插入中删除了 fsync 选项,并删除了 syncdelay 配置选项。

为了测试数据是否正在写入,我在更新后快速检查了 Rockmongo,数据确实在那里, super 快!

真的,如果 fsync 让写入变慢,而没有它,写入仍然会发生,而且无论如何都很快?

最佳答案

每个 Mongo 文档:

The primary use of fsync is to flush and lock the database for backups.

还有

The fsync operation blocks all other write operations while its running.

阻塞似乎是原因。

https://stackoverflow.com/questions/11531757/

相关文章:

mongodb - 设置 MongoDB 数据库配额 (SIZE)

java - MongoDB : how to index the keys of a Map

node.js - 我应该将图像存储在 MongoDB 中还是本地文件系统中(通过 Node.js)

node.js - 从 Mongoose 模型中找到的 native 驱动程序不返回光标

python - 具有以列表中指定的前缀开头的属性的对象的 MongoEngine 查询列表

php - MongoDB/Doctrine : can't nest $or in $and

ruby-on-rails - 获取字段最大值的对象[Mongoid]

MongoDB - 从单个数组元素中取消设置属性

mongodb - 我可以/应该在 Mongoose 中索引嵌入的文档吗?

mongodb - mongoose 更新 MongoDB 中的字段不起作用