Как измерить скорость индексации Neo4j - PullRequest
0 голосов
/ 09 октября 2018

Я создал индекс в Neo4j

CREATE INDEX ON :LogEvent(file_id)

С этим индексом я создаю 1 миллион узлов.Как мне измерить время создания / обновления индекса для 1 миллиона записей?Я попытался включить журналы транзакций, чтобы увидеть время, но журналы транзакций в двоичном формате и не читаются.

1 Ответ

0 голосов
/ 09 октября 2018

Начиная с Neo4j 3.4.8 (последняя доступная версия) нет сборки для отслеживания фактического времени, затраченного на чтение, запись, поиск по индексу, запись по индексу и т. Д. Внутри транзакции.

Ваши варианты

  • используйте ключевое слово EXPLAIN / PROFILE, чтобы получить представление о плане выполнения запроса и попаданиях в дб, которые примерно соответствуют чтению / записи.Однако нет времени.
  • использовать журнал запросов (см. Dbms.logs.query. * options , только для предприятия) для времени, потраченного на весь запрос
  • использовать сторонний Java Profiler.будь то коммерческий или открытый исходный код, остерегайтесь всех обычных проблем с профилированием кода Java.Также имейте в виду, что Neo4j сохраняет состояние транзакции в памяти и записывает на диск только при фиксации.
  • создает тест, который сравнивает время создания узла с индексом и без индекса (возможно только в том случае, если вам не нужен индекс для поиска,объединить и т.д ..)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...