私は自分のプロジェクトのエラスティックサーチでパフォーマンスチューニングを行っています。エラスティックサーチのインデックス速度を向上させるためにいくつかの助けが必要です。私はES 5.1.1を使用しています。インデックス用に8つのシャードを持つ2つのノードセットアップがあります。私は、2.2GHzのクロック速度で各サーバに16GBのRAMと12CPUを割り当てた2つのノードのサーバを持っています。 1.5時間以内に約2,500,000件のドキュメントを索引付けする必要があります。これは現在約4時間で実行しています。インデックス作成時間を短縮するため、以下の設定を変更しました。 1ギガバイト エラスティックサーチ速度が時間とともに低下する
- 設定 'なし'
- 'REFRESH_INTERVAL' に設定する '-1'
- に 'indices.store.throttle.type' VMオプション-Xms8g -Xmx8g(RAMサイズの半分)
私はJavaアプリケーションで文書を生成するためにバルクプロセッサを使用していますが、以下の構成を使用してバルクプロセッサを設定しています。
一括操作数:MBで10000
バルクサイズ:100
同時要求:100
フラッシュ間隔:30
当初、私は最初の分で356167の周りにインデックスすることができます。しかし時間とともに、それは約1時間後に1分あたり約121280の文書を減少させ、その後に減少させる。
時間の経過とともにインデックス率を一定に保つにはどうすればよいですか?パフォーマンスを改善する他の方法はありますか?
こんにちは@alr、ありがとうございました。私はあなたの意見に同意します。実際、私はシャードとデフォルトの設定で始めました。上記の設定を使用することで、時間を大幅に短縮することができました。さらに、以前にカスタムIDを使用した自動生成IDを使用することで、時間を大幅に短縮できました。私は上記の設定で何回もインデックスをテストしましたが、EsRejectedExecutionExceptionを取得しませんでした。それで、すべてのオブジェクトがインデックスに登録されているわけではありませんか?ありがとうございました。 –