我在MongoDB中执行了fsync()操作,但它立即返回。它似乎没有做任何事情。如何验证数据是否确实已刷新到磁盘?
注意:我将syncdelay设置为0,这意味着写操作不会每隔60秒自动fsync一次。
我的实际命令是使用perl驱动程序:
$connection->fsync({async=>1});谢谢。
发布于 2013-07-12 01:25:31
如果您不希望fsync立即返回,那么您可以删除async选项,它将变成一个阻塞操作。
但是,如果您不希望它被阻塞,您可以在shell中使用db.currentOp来查询fsync的当前状态。
如果您想从Perl中获得这些信息,可以使用我在this answer中概述的技术。不幸的是,没有直接通过run_command获取它的便捷方法。
https://stackoverflow.com/questions/17598217
复制相似问题