私は最近、OrientDB 2.1 で新しい OrientGraphFactory を使い始めましたが、ほとんどの部分で優れています。
私は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で指定されているように、おそらくネットワーク接続プールで追加の作業を行う必要があると思います。
ドキュメントでは、ネットワーク接続プールを次のように設定することを提案しています。
database = new ODatabaseDocumentTx("remote:localhost/demo"); database.setProperty("minPool", 2); database.setProperty("maxPool", 5);
database.open("管理者", "管理者");
私が疑問に思っているのは、OrientGraphFactory プールがある種のネットワーク プールとしても機能し、データベース インスタンスごとにネットワーク接続を作成するかどうかです。これは事実ですか?または、ネットワーク接続プールを追加でセットアップする必要がありますか?
ありがとう!