2016-12-16 15 views
0

私たちはアプリケーションにElastic Search Nestクライアントを使用しており、Elastic Search DBにドキュメントを挿入する際の負荷テストのテストを行いました。エラスティックサーチネストを使用してデータを挿入する際のパフォーマンス上の問題

インデックスのサイズ2Kbのは、シャードはレプリカ1、5カウント、単一インスタンスDB(なしクラスタ)統計は、我々は毎秒3レコードを挿入することができたTAT

最終結果...この予想される結果ですか?私たちは、クライアントのスレッドを増やしたときに

は、結果は毎秒、親切

テストケース

5並列スレッドを示唆して、約50分かかりました.IT各スレッド同期押す記録(10000)(各スレッド2つのレコードに)、1秒間に3レコード。

アプリケーションの起動時にN個(このテストケースでは5個)のクライアントを作成し、すべての要求に対して再利用しました。

サーバーの詳細: 16ギガバイトのRAM、64ビットOS、インテルCore i7プロセッサーは、Windows Server 2008 R2、500ギガバイトのハードディスク

クライアントマシン: 16ギガバイトのRAM、64ビットOS、インテルCore i7プロセッサー、プロのWindows 7

答えて

1

バルクAPIを使用していない場合は、パフォーマンスが向上しません。 5.0より、私たちはfsyncをディスク上のすべての要求に適用します。

たとえば、10,000のインデックス要求を含むことができるバルク要求は、fsyncになります。 10 000回のインデックス要求で10,000回のfsync操作が生成されます。

  • シングルインデックス操作:

    • 2.xでは:200

      例えば、私のデータセットに対して、2.xからの切り替えは、私は次の結果を観察する5.Xドキュメント/秒

    • 5.0:20ドキュメント/秒
  • 一括操作:

    • 2.xの:12000から15000のドキュメント/ sの
    • 5.0:12000から16000のドキュメント/ sの

あなたが変更を望むことができるかどうindex.translog.durabilityインデックスasyncに設定してください。何か問題が生じた場合は、データロスのリスクがあります。

続きを読むTranslog

関連する問題