Использование базы данных arangojs npm в качестве постоянного соединения

При создании соединения arangodb с модулем arangojs npm через что-то вроде:

function createConnection(connectionUrl, databaseName) {
   var connectionProps = {
      url: connectionUrl,
      databaseName: databaseName
    };
    var connection = new Database(connectionProps);
    callback(null, connection);
 }

Предназначен ли этот объект базы данных для жизни приложения или это одноразовое соединение?

Мы испытываем утечку памяти, так как мы создаем новое соединение для каждого запроса, "кэширование" соединения, кажется, решает эту утечку.

Если соединение живет вечно, оно ведет себя как пул соединений? Будут ли эти соединения истекать, если простаивают?

Документация заставляет меня поверить, что я изначально ошибался и что да, это пул соединений, но подтверждение вышеупомянутых вопросов было бы превосходным!

1 ответ

Из наших собственных исследований выглядит так, как будто да, этот объект предназначен для того, чтобы жить "вечно" и многократно использоваться снова, так как он создается с помощью агента. Вероятно, он может быть настроен как "одноразовое соединение" в зависимости от переданных agentOptions. Это не было проверено и может быть дорогостоящей операцией для часто используемых соединений.

Другие вопросы по тегам