У меня есть некоторые интеграционные тесты с использованием TinkerGraph (в памяти), которые занимают 10-15 секунд для завершения. Из мониторинга, используя VisualVM, я выяснил, что основная причина задержки связана с методами TraversalHelper.getLabels()
и TraversalHelper.getTraversals()
.TinkerGraph getLabels() и getTraversals() делают тесты медленными
Я ожидал TinkerGraph, так как это встроенная память, которая быстро вспыхивает, но может случиться так, что я делаю что-то неправильно или действительно есть проблема с производительностью. Мои другие тесты меньше 200 мс. Любая помощь приветствуется!
Вот запрос, который занимает 5 + секунд, чтобы создать 51 вершин с 4-5 свойств каждого, соединенных между собой через 89 ребер:
UPDATE: производительности в моей тесты были улучшены с ~ 40 до 6 секунд для тестов в памяти и от 2 до менее 1 мин с использованием DSE после использования вновь развернутых 3.2.5-SNAPSHOT и 3.3.0-SNAPSHOT (от http://repository.apache.org/snapshots/). Более подробную информацию вы можете посмотреть здесь: https://issues.apache.org/jira/browse/TINKERPOP-1642. Я хотел бы сказать большое спасибо Stephen Mallette за его быстрое и точное действие, которое обеспечило отличное повышение производительности не только для обходов гремлингов в памяти, но и всех других дисковых графических технологий, которые используют гремлин поверх них.
Какова природа ваших тестов? Насколько велика ваша тестовая диаграмма (т. Е. Количество ребер)? –
менее 20 вершин и краев. Тест просто создает подграф и вставляет его в один проход. В каждой вершине есть метка с as(), я пошлю запросы немного. спасибо :) –
Это кажется странным. Обход более 20 вершин/ребер не должен занимать 10 секунд на TinkerGraph. Если бы я был вами, я бы открыл консоль Gremlin, создав свой 20 вершинный/краевой граф в TinkerGraph, а затем запустил пройденные вами обходные проверки, чтобы увидеть, если вы получите такую же медленную скорость. Если да, то отредактируйте свой вопрос, чтобы включить код Гремлина для создания графика и обхода, вызывающего проблемы. Если вы не получаете такую же медленную скорость, то вы должны иметь что-то странное в своей тестовой среде, и вам нужно будет выделить это дальше. –