测试写入速度:ArangoDB ...同步和MSync时间

时间:2014-04-14 23:30:50

标签: arangodb

所以我正在测试一些极端的写作,10个单独的插入...简单的循环(让我们让这个主题简单一点)......我已经得到了#39;等待同步'打开收集(在这种情况下,我们需要在调用返回时100%提交)... 2台机器...我在我的主机上运行循环,我正在运行实际的单元测试并且它需要写入10k的3分钟...如果我写入我的远程机器(相同的arangoDB设置),则需要9秒...是因为它还运行本机而在本地机器上花费的时间更长测试?或者是由于arangoDB FAQ警告的驱动器的SYNC / MSYNC问题?

"从持久性的角度来看,立即同步当然更好,但这意味着为每个操作执行额外的系统调用。在具有慢同步/ msync的系统上,"

是否有设置或其他内容检查驱动器或系统以确定我的设备同步/ msync的值是什么?

感谢您的帮助!!

1 个答案:

答案 0 :(得分:0)

首先,实际速度在很大程度上取决于您的硬盘。

例如,对于MacOSX下具有SSD的笔记本,我得到:

arangod> t = time(); for (i = 0;  i < 1000;  i++) db.unsync.save({ name: "Hallo " + i }); time() - t;
0.03408193588256836
arangod> t = time(); for (i = 0;  i < 1000;  i++) db.sync.save({ name: "Hallo " + i }); time() - t;
6.904788970947266

所以写1000份文件要快200倍。

对于在Linux下使用硬盘的桌面,我得到:

arangod> t = time(); for (i = 0;  i < 1000;  i++) db.unsync.save({ name: "Hallo " + i }); time() - t;
0.08486199378967285
arangod> t = time(); for (i = 0;  i < 1000;  i++) db.unsync.save({ name: "Hallo " + i }); time() - t;
54.90065908432007

这更糟糕。超过600。

关于本地和远程之间的区别:这听起来很奇怪。你如何访问远程机器?你使用arangosh吗?