Я только что перешел с версии 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 записей?
arangob --test-case document --requests 1000 --concurrency 1 --server.endpoint tcp://127.0.0.1:8529
- person stj   schedule 02.07.2014waitForSync
равнымtrue
? Если это так, то каждая вставка запускает операцию полной синхронизации диска и ждет, пока ОС не подтвердит завершение синхронизации. Это может быть очень медленно, в зависимости от типа используемого диска. Если для параметраwaitForSync
установлено значение true для коллекции или отдельной операции сохранения, можете ли вы попробовать отключить его и повторить попытку вставки? - person stj   schedule 02.07.2014