경고

경고

간단한 질문: cgroup을 사용하여 mongodb의 메모리 부족을 처리하고 io 동의 측면을 무시하는 경우 3개의 클러스터 내의 동일한 노드에서 mongodb와 elasticsearch를 실행하는 것이 어리석은 일입니까?

답변1

경고

필요한 IOPS, RAM, CPU와 같은 사실에 대한 질문이 가볍기 때문에 대답도 동일할 것입니다.


일반적으로 두 개의 IO/CPU/RAM 집약적인 워크로드를 동일한 노드에 배치하는 것은 좋지 않지만 cgroup/LXC 컨테이너로 분리된 다른 데이터베이스(예: Redis 및 PostgreSQL)와 호스트를 공유하는 Elasticsearch 인스턴스에서 작업한 경험이 있습니다. 수행할 수 있으며 프로덕션 워크로드에 충분히 잘 수행됩니다.충분한 원자재가 주어지면. vmstat, sar, iotop 등과 같은 표준 시스템 도구를 사용하여 IO 및 RAM 사용량을 감시하는 것은 간단합니다. 잠재적인 수천 IOPS, 수십 GB의 RAM 및 12개 정도가 필요합니다. CPU 코어이지만 상당한 호스트 시스템을 감당할 수 있다면 합리적인 아키텍처입니다. 그런 다음, 상당한 양의 호스트(예: Amazon에서 말하는 i2.4xls)를 감당할 수 있다면 더 큰 규모의 작은 인스턴스 풀(i2.xls)을 감당하고 Elasticsearch와 MongoDB를 서로 분리하여 실행할 수 있습니다. 미래에 더 나은 시스템 설계의 일부를 확장하기 위해.

관련 정보