Может ли GraphDB выполнять запрос параллельно на нескольких ядрах? - PullRequest
0 голосов
/ 23 октября 2018

Я заметил, что мои запросы выполняются быстрее на моей локальной машине по сравнению с моим сервером, потому что на обеих машинах используется только одно ядро ​​ЦП.Есть ли способ включить многопоточность, чтобы я мог использовать 12 (или все 24 ядра) вместо одного?

Я не нашел ничего в документации, чтобы настроить это, но увидел, что другие графовые базы данныхдействительно поддерживаю это.Если он поддерживается по умолчанию, что может заставить его использовать только одно ядро?

1 Ответ

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

GraphDB по умолчанию будет загружать все доступные ядра ЦП, если это не ограничено типом лицензии.Free Edition имеет ограничение до 2 одновременных операций чтения.Однако я подозреваю, что вы спрашиваете, как включить параллелизм запросов (разбить запрос на более мелкие задачи и выполнить их параллельно).

  • Операции записи в GDB SE / EE всегда будут разделеныв несколько параллельных задач, так что вы получите выгоду от нескольких ядер.GraphDB Free ограничен одним ядром по коммерческим причинам.
  • Операции чтения всегда выполняются в одном потоке, поскольку в общем случае запросы выполняются быстрее.В некоторых конкретных сценариях, таких как тяжелые агрегаты для больших коллекций, распараллеливание выполнения запроса может иметь существенное преимущество, но в настоящее время это не поддерживается.

Таким образом, суммирование нескольких ядер поможет вам обрабатывать только более параллельные запросы, но не обрабатывать их быстрее.Это ограничение дизайна может измениться в следующих версиях.

...