node.js - ArangoDB 插入速度极慢

标签 node.js performance insert arangodb

我刚刚从版本 1.4 升级到 2.1.1,并注意到了一些改进,但插入速度仍然非常慢,随着插入的文档越多,插入速度就越慢。

我正在从旧数据库迁移到新数据库,并一次插入 1000 个。以下是一些日志供您细读:

========= [26.28s]
BATCH #1 [0s]
========= [0s]
CREATED: 1000 [0s]
UPDATED: 0 [0s]
SUBTOTAL: 1000 [0s]
BATCH TIME: 26.279s [0s]
TOTAL BATCH TIME: 26.279s [0s]
AVG TIME PER BATCH: 26.279s [0s]
TOTAL TIME: 29.277s [0s]

========= [29.919s]
BATCH #2 [0.001s]
========= [0s]
CREATED: 2000 [0s]
UPDATED: 0 [0s]
SUBTOTAL: 2000 [0s]
BATCH TIME: 29.919s [0s]
TOTAL BATCH TIME: 56.198s [0s]
AVG TIME PER BATCH: 28.099s [0s]
TOTAL TIME: 61.341s [0s]

========= [33.698s]
BATCH #3 [0s]
========= [0s]
CREATED: 3000 [0s]
UPDATED: 0 [0s]
SUBTOTAL: 3000 [0s]
BATCH TIME: 33.697s [0s]
TOTAL BATCH TIME: 89.89500000000001s [0s]
AVG TIME PER BATCH: 29.965000000000003s [0s]
TOTAL TIME: 97.755s [0s]

========= [62.653s]
BATCH #10 [0s]
========= [0s]
CREATED: 10000 [0s]
UPDATED: 0 [0s]
SUBTOTAL: 10000 [0s]
BATCH TIME: 62.653s [0s]
TOTAL BATCH TIME: 438.422s [0s]
AVG TIME PER BATCH: 43.842200000000005s [0s]
TOTAL TIME: 474.096s [0s]

我正在使用ArangoDB NodeJS API并运行以下代码(每批1000次):

db.document.create("users", user)

我在这里遗漏了什么,还是 ArangoDB 对于任何拥有 >1000 条记录的数据库来说都是失败的原因?

最佳答案

请查看您集合的“waitForSync”属性。 我在 waitForSync 方面获得了以下经验,创建了 1000 个文档并使用 arango 的 nodejs 驱动程序:

waitForSync  true 13,3 s
waitForSync  false 0,5 s

关于node.js - ArangoDB 插入速度极慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24519471/

相关文章:

javascript - Node.js:将多个路由集中到一个路由文件中

Javascript 无法读取 null 的属性 'innerText' - puppeteer

node.js - 启动后分离一个 spawn 子进程

javascript - Google+ API 不返回我 friend 的 friend

performance - 为什么 GCC 和 Clang 不使用 cvtss2sd [内存]?

c - 你是素数吗

MySQL MyISAM - 在 LIVE 环境中插入比在本地需要更长的时间

python - 高效的 Pandas Dataframe 插入

php - 使用外键插入表 - PHP PDO

mysql - 如何在我的表格中插入当前日期?