3

我是这里的新手,也是 rethinkdb 的新手。首先,很抱歉我的英语不好,我对 rethinkdb 的更新事务性能有疑问。

我将 Nodejs 与 rethinkdb 的 Native JS API 一起使用。我需要处理读取文件流并在 rethinkdb 中更新数据。在我获取数据并用 1k 行过滤后,我发送到 rethinkdb 中进行更新。然后带有 socketio 的 nodejs 服务器触发 changefeed 功能。

它需要 1 秒/1000 个事务。(SSD 驱动器)

r.table('mds').getAll(data.symbol, { index : "symbol" }).update({ price : data.price, update_date : moment().format('YYYY-MM-DD HH:mm:ss') }, { returnChanges : false}).run(conn, function(err, cursor)....

rethinkdb 更新性能通常正常吗?可以更快吗?或者我的查询或条件错了吗?

4

1 回答 1

1

getAll这些调用之一返回了多少行?根据每个事务中修改的行数,每秒 1000 个事务可能合理,也可能不合理。

如果每个事务中的行数很少,您可能会获得更好的性能。您可以尝试的一件事是打开写入的软耐久性。如果这没有帮助(或者如果您需要硬持久性),那么唯一要做的就是将更多的 RethinkDB 服务器添加到您的集群中,并在它们之间分割您的表。

于 2016-06-22T10:37:45.397 回答