0

検索クエリのパフォーマンスを向上させるために Elasticsearch を調整する際に多くの問題が発生しています。これらは私の仕様です:

ES セットアップ: バージョン: 0.90.0、クラスター内に 2 つのノード (m3.2xlarge aws インスタンス)、それぞれ 32GB RAM、ES_HEAP_SIZE に 50% 割り当て、スワッピングなし

データ: 75MM ドキュメント、各 25 フィールド

ベンチマーク用に作成されたクエリ: 5 つのテキスト フィールドに対するマルチマッチ クエリ

ここここで言及されているすべてを試しました

最大 30 リクエスト/秒の入力クエリ頻度で、応答時間は 1 秒未満のままです。1 秒あたり 30 以上のリクエストを超えると、パフォーマンスが急激に低下し、応答時間は 50 秒に増加します。これが発生している間、JVM ヒープは安定しており (bigdesk では約 7 ~ 8)、GC も安定しています。ただし、CPU は急速に増加し、800% (8 コア) になり、負荷平均は非常に高くなります。など

質問: 1 秒あたり 30 回の要求でパフォーマンスが急落する理由と、可能であればクラスター構成を変更してこれを解決する方法を見つけてください。

前もって感謝します!

4

1 に答える 1

0

CPU バウンドの動作が見られることは知っていますが、パフォーマンスの問題が発生し始めたときに I/O スパイクが見られますか?

インデックスを EBS ボリュームに保存している場合、あなたのようなテストで I/O 飽和が見られても驚かないでしょう。M3 インスタンスには高速なローカル (エフェメラル) SSD ボリュームがあり、応答性を調整する場合は、インデックスがローカルに保存されていることを確認する必要があります。

https://www.elastic.co/blog/performance-considerations-elasticsearch-indexing

これはCPUの問題に直接関係していないことは理解していますが、単一のクエリの応答性を高めるためにできること(フィルタリングなどを含む...)は、スループットを向上させます.

于 2015-11-06T15:29:21.483 に答える