負荷に応じてリソース (elasticsearch インスタンスと思われます) を計画する方法:
負荷とは、約 500K イベント/分を意味し、それぞれに 8 ~ 10 フィールドが含まれます。
どの設定ノブを回す必要がありますか? 私はこのスタックが初めてです。
負荷に応じてリソース (elasticsearch インスタンスと思われます) を計画する方法:
負荷とは、約 500K イベント/分を意味し、それぞれに 8 ~ 10 フィールドが含まれます。
どの設定ノブを回す必要がありますか? 私はこのスタックが初めてです。
1 分あたり 500,000 イベントは 1 秒あたり 8,333 イベントであり、小さなクラスター (3 ~ 5 台のマシン) の場合、処理は非常に簡単です。
問題は、毎日 7 億 2000 万のドキュメントを 60 日間開いたままにしておくことです (430 億のドキュメント)。10 個のフィールドのそれぞれが 32 バイトの場合、13.8 TB のディスク容量になります (単一のレプリカで約 28 TB)。
比較のために、最大で 5 つのノード (64GB の RAM、31GB のヒープ) があり、1.2B のドキュメントが 1.2TB のディスク容量を消費します (レプリカの場合は 2 倍)。このクラスターは、マシンごとに 32 GB の RAM しかないため負荷を処理できませんでしたが、現在は 64 GB で十分です。これは 10 日間のデータです。
おおよそ、私のクラスターよりも 10 倍のディスク容量を消費するドキュメントの数が 40 倍になると予想しています。
正確な数値はわかりませんが、doc_values を使用するためのパイロット プロジェクトでは、90% のヒープ節約効果が得られています。
その計算がすべて成り立ち、doc_values が適切である場合、インデックス付けされた実際のバイトに関する限り、同様のクラスターで問題ありません。非常に多くの個別のドキュメントを持つことによるオーバーヘッドについて、追加情報を求めたいと思います。
ある程度のelasticsearchのチューニングを行いましたが、おそらくそれ以上のことができるでしょう.
少数の 64GB マシンから始めることをお勧めします。必要に応じてさらに追加できます。インデックスおよび検索リクエストのフロントエンドとして、いくつかの (より小さい) クライアント ノードを投入します。