# Gems

# 최근

VM 서버 스펙 산정 근거
VM 서버 스펙 산정 가이드라인
Jenkins, Harbor, Nexus 서버 사양 산정

# Gemini와의 대화

VM 서버 스펙 산정 근거

1. 산정 기준

개발환경: 사용자 20명, 동시접속자 약 10명 (50%)

검증환경 산정 :

운영환경: 사용자 200명, 동시접속자 약 100명 (50%)

구성요소

mendix Java (Spring, JBoss, Tomcat 등, Docker 컨테이너)

HA 구성: 운영환경은 2대

스토리지 산정

기본스토리지(OS, Docker, 로그용)

추가스토리지(애플리케이션 로그, 미디어 파일)

오버헤드

Docker + Docker Compose: VM 자원 대비 약 5~10% 오버헤드

VM OS: VM 자원 대비 약 10~15% 오버헤드

관련근거 도출을 위해 참조한 사이트 url 를 기술한다.

다음은 요청하신 VM 서버 스펙 산정 근거입니다. 사용자 수, 동시 접속자 수, 애플리케이션 특성 및 오버헤드를 고려하여 각 환경별 사양을 산출했습니다.

### 1. 산정 기준

서버 스펙 산정의 핵심 기준은 운영 환경의 동시 접속자 수입니다. 이를 바탕으로 개발 및 검증 환경의 사양을 역산합니다. Mendix 애플리케이션의 특성과 Java 기반 실행 환경, 그리고 Docker 컨테이너화로 인한 오버헤드를 종합적으로 고려했습니다.

- 개발 환경: 사용자 20명, 동시 접속자 10명 (50%)

- 검증 환경: 운영 환경의 부하 테스트 및 기능 검증을 위해 운영 환경과 동일한 스펙으로 산정

- 운영 환경: 사용자 200명, 동시 접속자 100명 (50%), HA(고가용성) 구성을 위해 2대 운영

### 2. 환경별 서버 스펙 산정

#### 2.1. 운영 환경 (Active-Active 구성, 총 2대)

운영 환경은 동시 접속자 100명을 기준으로 하며, 안정적인 서비스 제공을 위해 2대의 서버가 부하를 분산하여 처리합니다. 따라서 각 서버는 동시 접속자 50명의 부하를 감당할 수 있도록 설계합니다.

- CPU (vCore)

  - 산정 근거: Mendix는 동시 사용자 1명당 약 100~200MHz의 CPU 자원이 필요하다고 권장합니다. 중간값인 150MHz를 기준으로 계산합니다.

  - 계산:

    - 기본 요구량: 50명 * 150MHz = 7,500MHz (7.5GHz)

    - OS 및 Docker 오버헤드 (약 20%): 7.5GHz * 1.2 = 9.0GHz

    - 최신 vCPU 코어당 평균 2.5GHz 클럭을 가정하면, 필요한 코어 수는 약 3.6개 입니다.

  - 결론: 4 vCore (여유를 두어 안정성 확보)

- 메모리 (RAM)

  - 산정 근거: Mendix 런타임은 기본적으로 1~2GB의 메모리를 사용하며, 동시 사용자 1명당 약 20~40MB의 추가 메모리가 필요합니다. 평균값인 30MB를 기준으로 산정합니다.

  - 계산:

    - 기본 요구량: 2GB (Mendix 런타임) + (50명 * 30MB) = 2GB + 1.5GB = 3.5GB

    - OS 및 Docker 오버헤드 (약 20%): 3.5GB * 1.2 = 4.2GB

  - 결론: 8 GB (시스템 캐시 및 예기치 않은 부하를 고려하여 여유 있게 산정)

- 스토리지

  - 기본 스토리지 (OS, Docker, 로그): OS, Docker 엔진 및 컨테이너 이미지, 시스템 로그 등을 저장하기 위한 공간입니다.

    - 산정: 100 GB (OS: 40GB, Docker: 40GB, 시스템 로그 및 기타: 20GB)

  - 추가 스토리지 (애플리케이션 데이터): 애플리케이션 로그, 미디어 파일(이미지, 문서 등)을 저장하기 위한 공간입니다. 이는 예상되는 데이터 증가량을 고려하여 산정해야 합니다.

    - 산정: 200 GB (초기 산정치이며, 향후 데이터 증가 추이에 따라 확장 필요)

#### 2.2. 검증 환경 (1대)

검증 환경은 운영 환경과 동일한 조건에서 성능 및 안정성을 테스트해야 하므로, 운영 환경 서버 1대와 동일한 스펙으로 구성합니다.

- CPU: 4 vCore

- 메모리: 8 GB

- 스토리지: 기본 100 GB + 추가 200 GB

#### 2.3. 개발 환경 (1대)

개발 환경은 동시 접속자 10명을 기준으로 산정합니다.

- CPU (vCore)

  - 계산: (10명 * 150MHz) * 1.2 = 1.8GHz

  - 결론: 2 vCore

- 메모리 (RAM)

  - 계산: (2GB + (10명 * 30MB)) * 1.2 = (2GB + 0.3GB) * 1.2 = 2.76GB

  - 결론: 4 GB

- 스토리지

  - 기본 스토리지: 100 GB

  - 추가 스토리지: 100 GB (개발 및 테스트용 데이터 저장)

### 3. 스펙 산정 요약

환경 | 서버 대수 | vCPU | 메모리(RAM) | 기본 스토리지 | 추가 스토리지 | 비고
개발 | 1대 | 2 vCore | 4 GB | 100 GB | 100 GB | 동시 접속자 10명 기준
검증 | 1대 | 4 vCore | 8 GB | 100 GB | 200 GB | 운영 환경과 동일 스펙
운영 | 2대 (HA) | 4 vCore | 8 GB | 100 GB | 200 GB | 각 서버당 사양, 동시 접속자 100명 분산 처리

### 4. 참조 자료

본 스펙 산정은 Mendix의 공식 시스템 요구사항 문서와 일반적인 Java 애플리케이션 및 Docker 환경의 리소스 산정 가이드를 참조하여 도출되었습니다.

- Mendix 시스템 요구사항 (System Requirements): Mendix 버전별 런타임 환경에 대한 CPU, 메모리, 데이터베이스 요구사항을 확인할 수 있습니다.

  - URL: https://docs.mendix.com/system-requirements/

- Docker 리소스 관리 (Resource Management): Docker 컨테이너 실행 시 CPU 및 메모리 제한 등 리소스 관리 방안과 오버헤드 관련 정보를 제공합니다.

  - URL: https://docs.docker.com/config/containers/resource_management/

- Java 애플리케이션 메모리 사이징 (JVM Memory Sizing): Java 애플리케이션(Spring, JBoss, Tomcat 등)의 JVM 힙 메모리 및 스레드 사용량에 따른 메모리 산정 가이드를 참고할 수 있습니다.

  - URL: https://www.baeldung.com/jvm-memory-management

개인 AI 어시스턴트인 Gemini를 만나 보세요

Google 약관새 창에서 열기과 Gemini 앱 개인정보처리방침새 창에서 열기이 적용됩니다. 채팅은 Google AI 개선을 위해 검토되고 사용됩니다. 사용자가 가진 선택권에 대해 자세히 알아보기새 창에서 열기 Gemini는 실수를 할 수 있으니 다시 한번 확인하세요. 사용자의 위치에 관한새 창에서 열기 정보도 Gemini 앱 활동과 함께 저장됩니다.

Gemini can make mistakes, including about people, so double-check it. Your privacy & Gemini 새 창에서 열기

Google 계정
HEUI SUNG LEE
cyberlhsdev@gmail.com
파일 추가
마이크 사용
Imagen으로 생성
문서 및 앱 만들기
주제 학습 및 이해
메뉴 펼치기
Storybook
Gems 탐색하기
VM 서버 스펙 산정 가이드라인
Jenkins, Harbor, Nexus 서버 사양 산정
Gemini 앱 활동
설정 및 도움말
프롬프트 수정
텍스트 펼치기
VM 서버 스펙 산정 근거
대답 복사
더보기