Kokizzu Asked: 2014-11-27 22:42:37 +0800 CST2014-11-27 22:42:37 +0800 CST 2014-11-27 22:42:37 +0800 CST Couchbase 何时将文档写入磁盘? 772 Couchbase正如标题所说,文件写入磁盘的时间是什么时候?每 60 秒?每1秒?每 100 毫秒?或者每次都有对该文档的读取命令? couchbase 1 个回答 Voted Best Answer Kirk 2014-12-18T13:45:09+08:002014-12-18T13:45:09+08:00 我将回答您的问题,因为我会列出更高级别的流对象在到达磁盘的过程中通过 Couchbase。 对象由应用程序写入托管缓存 同时,指向该对象的指针被放入队列(磁盘写入队列)中,以便将对象持久保存到数据库存储引擎,目前称为 Couchstore。指针也被放入复制队列以将该对象复制到副本,但这是另一个讨论。 根据服务器资源,即磁盘写入速度,对象将被移动到 Couchstore。如果传入数据量很大而磁盘速度很慢,则磁盘写入队列会变得非常大。这是在调整集群规模时需要考虑的一个领域。这不仅与原始读/写速度有关,还与队列的填充和耗尽方式有关。您希望磁盘填充率和排出率尽可能接近,并且磁盘写入队列尽可能接近 0。如果您要使用 PERSIST_TO 样式写入,这一点尤其重要。 一旦到达 Couchstore,它就会持久保存到磁盘中。那里有一些批处理,如果我没记错的话,每个 vBucket 1000 个。这是为了提高性能。此外,虽然有一个操作系统缓冲区(我之前使用该术语是不正确的),但 Couchbase 并不依赖于它,但在每个批次之后都有一个 fsync。 需要记住的一件事是,几乎所有这些都可以使用 Admin Rest API 进行监控或在 WebUI 中查看。如果您关心性能,这些都是持续监控的理想选择。
我将回答您的问题,因为我会列出更高级别的流对象在到达磁盘的过程中通过 Couchbase。
需要记住的一件事是,几乎所有这些都可以使用 Admin Rest API 进行监控或在 WebUI 中查看。如果您关心性能,这些都是持续监控的理想选择。