ArangoDB Java Batch模式插入性能

时间:2016-09-14 07:51:14

标签: arangodb

我使用ArangoDb 3.0.5和arangodb-java-driver 3.0.1。 ArangoDB运行在一台3.5gz i7上,内存为24gb和一个ssd。

从Apache Flink加载一些简单的顶点数据似乎非常缓慢,大约1000个顶点/秒。任务管理器显示它在ArangoDB进程上受CPU限制。

我的连接器正在调用startBatchMode,重复500次调用graphCreateVertex(等待同步设置为false),然后调用executeBatch

管理界面中的系统资源在负载运行时显示大约15000(每秒?),并且在用户时间内将CPU时间固定为1。我是ArangoDB的新手,我不知道如何分析正在发生的事情。任何帮助非常感谢!

罗布

1 个答案:

答案 0 :(得分:1)

您的效果是预期的行为。 batchMode的要点是,所有500个调用都在一个中发送,并且只在一个线程中在服务器上执行。

要获得更好的性能,您可以在客户端中使用多个线程来创建顶点。并行的更多请求将允许服务器使用多个线程。

此外,您可以使用createDocument代替graphCreateVertex。这样可以避免对图表进行一致性检查,但速度要快得多。

如果您不需要这些检查,您也可以使用importDocuments代替batchMode + createDocument,这样会更快。