Mongodb

在同一個節點上執行 MongoDB 和 ElasticSerach 通常是不是一個壞主意

  • March 2, 2015

簡單的問題:如果您使用 cgroups 處理 mongodb 的記憶體飢餓問題並忽略並發 io 方面,那麼在三個集群內的相同節點上執行 mongodb 和 elasticsearch 是否愚蠢?

警告

問題很簡單,比如所需的 IOPS、RAM 和 CPU,所以答案也很簡單。


一般來說,將兩個 IO/CPU/RAM 密集型工作負載放在同一個節點上是不好的,但我確實有使用 Elasticsearch 實例的經驗,這些實例與由 cgroups / LXC 容器分隔的其他數據庫(如 Redis 和 PostgreSQL)共享主機。只要有足夠的原始資源,它就可以完成,並且對於生產工作負載來說做得足夠好. 使用標準系統工具(如 vmstat、sar、iotop 等)監視 IO 和 RAM 使用情況很簡單。您將需要幾千 IOPS 潛力、幾十 GB 的 RAM 和十幾個左右CPU 核心,但如果您能負擔得起一些大型主機,它是一個合理的架構。再說一次,如果你能買得起足夠多的主機(例如,亞馬遜語言中的 i2.4xls),那麼你就可以買得起更大的小型實例池(i2.xls),並執行相互分離的 Elasticsearch 和 MongoDB,然後能夠在未來擴大規模,成為更好的系統設計的一部分。

引用自:https://serverfault.com/questions/672508