2015-11-16 3 views
1

Я недавно начал использовать новую OrientGraphFactory в OrientDB 2.1, и это было отлично по большей части.OrientGraphFactory Pool vs Network Connection Pool

Я использую Scala, и делает это так:

lazy val orientFactory = new OrientGraphFactory(url, username, password).setupPool(minConnections, maxConnections) 

Когда мне нужен новый экземпляр базы данных, я просто сделать:

val graph = orientFactory.getTx.asInstanceOf[TransactionalGraph] 

Все это, кажется, работает хорошо, но я столкнулся с некоторыми проблемами при высокой нагрузке. Я подозревал, что, возможно, мне нужно сделать некоторые дополнительные работы с пулом сетевого подключения, как указано в OrientDB Docs: http://orientdb.com/docs/2.1/Performance-Tuning.html

документация предлагает создать сетевое подключение бассейна следующим образом:

базы данных = новый ODatabaseDocumentTx («remote: localhost/demo»); database.setProperty ("minPool", 2); database.setProperty ("maxPool", 5);

database.open ("admin", "admin");

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

Спасибо!

ответ

1

Сеть пула использует этот параметр, чтобы настроить максимальное количество соединений:

OGlobalConfiguration.CLIENT_CHANNEL_MAX_POOL.setValue(500); 

по умолчанию равно 100.