我使用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的新手,我不知道如何分析正在发生的事情。任何帮助非常感谢!
罗布
答案 0 :(得分:1)
您的效果是预期的行为。 batchMode的要点是,所有500个调用都在一个中发送,并且只在一个线程中在服务器上执行。
要获得更好的性能,您可以在客户端中使用多个线程来创建顶点。并行的更多请求将允许服务器使用多个线程。
此外,您可以使用createDocument
代替graphCreateVertex
。这样可以避免对图表进行一致性检查,但速度要快得多。
如果您不需要这些检查,您也可以使用importDocuments
代替batchMode + createDocument
,这样会更快。