#performance #gremlin #graph-databases #tinkerpop #amazon-neptune
#Производительность #gremlin #графические базы данных #tinkerpop #amazon-neptune
Вопрос:
У меня проблема с производительностью в gremlin, когда я пытаюсь запустить несколько запросов параллельно (в приложении Java). Я провел простой тест с g.V().count()
помощью .
В моем кластере есть один экземпляр (db.r5.xlarge) с 8 VCPU. Один только запрос занимает 11 секунд, чтобы быть выполненным в первый раз, а во второй раз — 5 секунд (я думаю, разница связана с механизмом кэширования). После этого каждый запрос занимает 5 секунд один за другим. Но когда я выполняю их параллельно, выполнение увеличивается до 8 запросов параллельно (19 секунд по запросу). После 8 запросов они устанавливаются в очередь Neptune, и их выполнение по-прежнему займет 19 секунд.
Мой вопрос: почему увеличивается время выполнения?
Когда выполняется только один запрос, Neptune будет использовать для его выполнения более одного vCPU? Все показатели кажутся хорошими, коэффициент попадания в буфер никогда не ниже 99,9%, объем свободной памяти увеличивается, но не так сильно.
Комментарии:
1. Учитывая, что здесь многое происходит, я думаю, если вы сможете, лучшим способом продвижения вперед может быть обращение в службу поддержки, чтобы сотрудники службы поддержки могли взглянуть на происходящее. Существует ряд возможностей, но без дополнительных данных трудно определить с какой-либо точностью. Альтернативный вариант — задать вопрос на форуме поддержки Amazon Neptune forums.aws.amazon.com/forum.jspa?forumID=253amp;start=0