MongoClientは接続プールを維持します。MongoClientでDb接続を一度開いて、アプリケーション全体で再利用します。これは、新しいTCP接続の設定は時間的にもメモリ的にも費用がかかるため、接続を再利用する理由です。また、新しい接続により、Dbのメモリを使用してMongoDBに新しいスレッドが作成されます。
- connectToMongoメソッドには競合状態があることに注意してください。そのメソッドへのアクセスを同期して、MongoClientのインスタンスが最大で1つ作成されるようにする必要があります。