MongoDB验证fsync是否正常工作

时间:2013-07-11 16:02:13

标签: perl mongodb disk fsync

我在MongoDB中执行fsync()操作,但它只是立即返回。它似乎没有做任何事情。如何验证数据是否确实已刷新到磁盘?

注意:我将syncdelay设置为0,这意味着写入不会每60秒自动fsync。

我的实际命令是使用perl驱动程序:

$connection->fsync({async=>1});

感谢。

1 个答案:

答案 0 :(得分:3)

如果您不希望fsync立即返回,则可以删除async选项,它将成为阻止操作。

但如果您不希望它被阻止,可以使用shell中的db.currentOp来查询fsync的当前状态。

如果您想从Perl获取该信息,您可以使用我在this answer中概述的技术。不幸的是,没有方便的方法直接通过run_command获取它。