
안녕 카우보이와 카우걸들,
Apache에서 정적 콘텐츠를 제공하는 VM(KVM 또는 ESXi)이 있고 Tomcat에서 비디오 스트리밍 웹앱이 있는 경우 동일한 키트의 동일한 VM에서 여러 인스턴스를 실행하고 로드 밸런싱하는 논리가 있습니까? 나에게는 동일한 수신 웹 요청을 받을 때 단일 인스턴스에 전용으로 사용되었던 리소스만 공유한다는 점에서 개념적으로 무의미해 보입니다. 그러나 2, 3개 이상을 사용하여 더 높은 용량을 활용할 수 있는 시나리오를 상상할 수 있습니다. Tomcat 등의 스레딩 성능과 관련하여 동일한 VM이 있을 수 있지만 내가 생각하는 이유는 모범 사례 설계가 아닌 잘못된 코딩 및 해결 영역을 암시하는 경향이 있습니다. 여기서 하드웨어의 예는 어떤 방식으로든 약 4000개의 동시 미디어 연결을 제공하는 8개 또는 12개 코어와 64GB RAM을 갖춘 HP DL380과 같은 상당히 유능한 상자입니다.
업데이트: 중복성 및 패치와 같은 다른 이점의 측면에서 보면 이 시나리오는 모두 로드 밸런싱된 최대 100개의 물리적 시스템에 복제될 가능성이 높기 때문에 문제가 되지 않습니다.
업데이트 2: 또한 외부 LB에서 여러 개의 동일한 서비스를 로드 밸런싱하는 기능에 대한 우려가 있습니다. LB에서 연결 대기 시간 등을 모니터링하는 경우 2개의 VM(1개는 5개 연결, 하나는 500개)이어야 합니다.~해야 한다실제로 둘 다 동일한 풀에서 리소스를 가져오므로(VM CPU 고정 등 없이) 동일하게 작동하는 것처럼 보입니다. 한 상자를 망치면 다른 조용한 상자도 손상되므로 연결 분포가 매우 비정상적이고 혼란스러워집니다.
감사해요
크리스
답변1
이를 수행하는 유일한 이유는 (a) 패치 등을 통해 운영상의 이점을 얻거나 (b) 하이퍼바이저가 vCPU를 실제 CPU에 선형 방식으로 매핑할 수 없는 것을 발견할 수 있는 경우입니다(예: 2 x 4개의 vCPU 게스트는 1 x 8 vCPU 게스트보다 더 나은 처리량을 얻습니다. 하지만 스트레스나 실제 생산 부하를 통해서만 이를 증명할 수 있습니다.
답변2
웹 서버가 호스트 하드웨어의 모든 리소스에 액세스할 수 있도록 하려면 가상 머신이 제한된 수의 리소스(플랫폼에 따라 4-8 vCPU)만 가질 수 있다는 점을 고려하면 여러 게스트를 실행하는 것이 좋습니다.
또한 게스트가 여러 명인 경우 최종 사용자에 대한 서비스를 중단하지 않고 패치를 위해 오프라인으로 전환할 수 있습니다.