警告

警告

簡単な質問です。cgroup を使用して mongodb のメモリ消費量に対処し、同時実行 IO の側面を無視する場合、3 つのクラスター内の同じノードで mongodb と elasticsearch を実行するのは愚かなことでしょうか?

答え1

警告

質問には、必要な IOPS、RAM、CPU などの事実がほとんど記載されていないため、回答も同様にほとんど記載されません。


一般的に言えば、同じノードに 2 つの IO/CPU/RAM 集中型ワークロードを配置するのは良くありませんが、cgroups / LXC コンテナーによって分離された他のデータベース (Redis や PostgreSQL など) とホストを共有する Elasticsearch インスタンスで作業した経験があります。これは実行可能であり、実稼働ワークロードでは十分に機能します。十分な原材料があれば標準的なシステム ツール (vmstat、sar、iotop など) を使用して、IO と RAM の使用状況を監視するだけです。数千の IOPS ポテンシャル、数十 GB の RAM、および 12 個程度の CPU コアが必要になりますが、十分なホスト マシンを購入できる場合は、妥当なアーキテクチャです。また、十分なホスト (Amazon で言うと i2.4xls など) を購入できる場合は、より小さなインスタンス (i2.xls) の大きなプールを購入して、Elasticsearch と MongoDB を互いに分離して実行し、将来的にスケールアップできるようにすることもできます。これは、より優れたシステム設計の一部です。

関連情報