2

Logstash を使用した単一ノードの Elastic Search では、Medium、Large、Xlarge などのさまざまなタイプの AWS インスタンスで Elastic Search への 20 MB および 200 MB のファイル解析をテストしました。

環境の詳細: 中規模のインスタンス 3.75 RAM 1 コア ストレージ:4 GB SSD 64 ビット ネットワーク パフォーマンス:中程度 実行中のインスタンス: Logstash、エラスティック検索

シナリオ: 1

**With default settings** 
Result :
20mb logfile 23 mins Events Per/second 175
200mb logfile 3 hrs 3 mins Events Per/second 175


Added the following to settings:
Java heap size : 2GB
bootstrap.mlockall: true
indices.fielddata.cache.size: "30%"
indices.cache.filter.size: "30%"
index.translog.flush_threshold_ops: 50000
indices.memory.index_buffer_size: 50%

# Search thread pool
threadpool.search.type: fixed
threadpool.search.size: 20
threadpool.search.queue_size: 100

**With added settings** 
Result:
20mb logfile 22 mins Events Per/second 180
200mb logfile 3 hrs 07 mins Events Per/second 180

シナリオ 2

環境の詳細: R3 大容量 15.25 RAM 2 コア ストレージ: 32 GB SSD 64 ビット ネットワーク パフォーマンス: 中 実行するインスタンス: Logstash、エラスティック検索

**With default settings** 
Result :
  20mb logfile 7 mins Events Per/second 750
  200mb logfile 65 mins Events Per/second 800

Added the following to settings:
Java heap size: 7gb
other parameters same as above

**With added settings** 
Result:
20mb logfile 7 mins Events Per/second 800
200mb logfile 55 mins Events Per/second 800

シナリオ 3

環境の詳細 : R3 ハイメモリ エクストラ ラージ r3.xlarge 30.5 RAM 4 コア ストレージ : 32 GB SSD 64 ビット ネットワーク パフォーマンス : 中 実行するインスタンス : Logstash、Elastic search

**With default settings** 
  Result:
  20mb logfile 7 mins Events Per/second 1200
  200mb logfile 34 mins Events Per/second 1200

 Added the following to settings:
    Java heap size: 15gb
    other parameters same as above

**With added settings** 
Result:
    20mb logfile 7 mins Events Per/second 1200
    200mb logfile 34 mins Events Per/second 1200

知りたかった

  1. パフォーマンスのベンチマークは何ですか?
  2. パフォーマンスはベンチマークを満たしていますか、それともベンチマークを下回っていますか
  3. なぜelasticsearch JVMを増やした後でも違いを見つけることができないのですか?
  4. Logstash を監視してパフォーマンスを改善するにはどうすればよいですか?

私はlogstashとエラスティック検索に慣れていないので、これに関する助けに感謝します。

4

2 に答える 2

0

総メモリに関してJavaヒープサイズを正しく指定しましたが、適切に使用していないと思います。fielddata サイズとは何かを理解していただければ幸いです。デフォルトはヒープ サイズの 60% で、30% に減らしています。

なぜこれを行っているのかわかりません。私の認識はあなたのユースケースには間違っているかもしれませんが、75% を割り当てるのは良い習慣ですが、この設定では、メモリ不足 (OOM) を避けるためにindices.fielddata.cache.size: "70%"何かを設定する必要がありますindices.breaker.total.limit: "80%") 例外。メモリ使用量の制限の詳細については、これを確認してください。

于 2016-01-14T09:05:38.083 に答える