Вставки 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 записей?


person Garrett    schedule 01.07.2014    source источник
comment
Чтобы определить, в чем проблема (сервер базы данных, драйвер node.js, соединение), не могли бы вы попробовать выполнить следующую команду и опубликовать результаты здесь? arangob --test-case document --requests 1000 --concurrency 1 --server.endpoint tcp://127.0.0.1:8529   -  person stj    schedule 02.07.2014
comment
Можете ли вы также проверить, установлена ​​ли для коллекции, в которую вы вставляете, параметр waitForSync равным true? Если это так, то каждая вставка запускает операцию полной синхронизации диска и ждет, пока ОС не подтвердит завершение синхронизации. Это может быть очень медленно, в зависимости от типа используемого диска. Если для параметра waitForSync установлено значение true для коллекции или отдельной операции сохранения, можете ли вы попробовать отключить его и повторить попытку вставки?   -  person stj    schedule 02.07.2014


Ответы (1)


Пожалуйста, взгляните на свойство «waitForSync» вашей коллекции. Я сделал следующий опыт работы с waitForSync, создав 1000 документов и используя драйвер nodejs для arango:

waitForSync  true 13,3 s
waitForSync  false 0,5 s
person user3805876    schedule 04.07.2014