3

Linux を実行しているローカル ハードウェアに Orion から最新のソースをダウンロードしてインストールしました。原則として、すべてが正常に機能しています。しかし、より高いパフォーマンスを得るために何かできないだろうか。ループ内で多数のエンティティ (/contextElement/id の get メソッド) を処理している場合 (たとえば 100)、エンティティごとに約 50 ~ 100 ミリ秒かかります。この場合、ループの処理に 10 秒以上かかります。いつかそれが数千、あるいはそれ以上になるとしたら、実際に使いこなせるようになるには間違いなく時間がかかります。

パフォーマンスを上げる方法はありますか?ローカル ネットワークでのクエリに比較的長い時間がかかるのはなぜですか? クライアントまたはブローカー側でパフォーマンスの問題を探す必要がありますか?

どうもありがとう!

乾杯、ニコラス

4

1 に答える 1

1

パフォーマンス分析は、Orion インストールおよび管理マニュアルに記載されています。ただし、免責事項を考慮してください。

この情報は、特定のセットアップで使用するインデックスを決定するためのヒントとしてのみ提供されていることを考慮してください。ただし、特定の環境での結果は、ハードウェア プロファイルや、テスト、セットアップ状況など

ただし、トランザクションあたり 50 ~ 100 ミリ秒 (つまり、10 ~ 20 TPS) は非常に遅いようです (分析では、100 ~ 1000 のオーダーの TPS が達成されていることに注意してください)。したがって、次のヒントのいくつかをお勧めします。

  • サーバー側で、Orion CB が使用する MongoDB インスタンスに適切なインデックスを設定します。上記の分析で結論付けられたように、「エンティティ コレクションの _id.id にインデックスを設定することを強くお勧めします」。インデックスの詳細については、このセクションを参照してください。
  • クライアント側では、エンティティ作成リクエストを順次ループではなく並行して実行すると、パフォーマンスが向上します。
于 2014-12-15T15:55:06.173 に答える