참조 아키텍처: 최대 20 RPS 또는 1,000 사용자
이 참조 아키텍처는 초당 20개의 요청(RPS)의 피크 로드를 목표로 합니다. 실제 데이터에 기반할 때, 이 로드는 일반적으로 최대 1,000 사용자에 해당하며, 여기에는 수동 및 자동 상호작용이 포함됩니다.
전체 참조 아키텍처 목록은
사용 가능한 참조 아키텍처를 참조하세요.
- 대상 부하: API: 20 RPS, 웹: 2 RPS, Git (Pull): 2 RPS, Git (Push): 1 RPS
- 고가용성: 아니오. 고가용성 환경의 경우, 수정된 3K 참조 아키텍처를 따르세요.
- 비용 계산기 템플릿: 자세한 내용은 비용 계산기 템플릿을 참조하세요.
- 클라우드 네이티브 하이브리드: 아니오. 클라우드 네이티브 하이브리드 환경의 경우,
수정된 하이브리드 참조 아키텍처를 따르세요.- 어떤 참조 아키텍처를 사용해야 할지 모르겠습니까? 자세한 내용은 어떤 아키텍처로 시작할지 결정하기를 참조하세요.
사용자 | 구성 | GCP | AWS | Azure |
---|---|---|---|---|
최대 1,000 또는 20 RPS | 8 vCPU, 16 GB 메모리 |
n1-standard-8 1
|
c5.2xlarge |
F8s v2 |
각주:
- GCP의 경우, 권장 요구 사항인 8 vCPU 및 16 GB RAM에 해당하는 가장 유사하고 동등한 표준 머신 유형이 선택되었습니다. 필요시 사용자 정의 머신 유형도 사용할 수 있습니다.
다음 다이어그램은 GitLab이 단일 서버에 설치될 수 있지만 내부적으로 여러 서비스로 구성되어 있음을 보여줍니다. 인스턴스가 확장될 경우, 이러한 서비스는 특정 요구 사항에 따라 분리되고 독립적으로 확장됩니다.
일부 경우에는 일부 서비스에 PaaS를 활용할 수 있습니다. 예를 들어, 일부 파일 시스템에 Cloud Object Storage를 사용할 수 있습니다. 중복성을 위해 일부 서비스는 노드 클러스터를 구성하고 동일한 데이터를 저장합니다.
수평으로 확장된 GitLab 구성에서는 클러스터를 조정하거나 리소스를 발견하기 위해 다양한 보조 서비스가 필요합니다. 예를 들어, PostgreSQL 연결 관리를 위한 PgBouncer 또는 Prometheus 엔드포인트 발견을 위한 Consul입니다.
요구 사항
시작하기 전에 요구 사항을 참조 아키텍처로 확인하세요.
경고: 노드의 사양은 사용 패턴과 양호한 상태의 리포지토리 크기의 높은 분포에 기반합니다.
그러나 대형 모노레포(수 기가바이트 이상)나 추가 워크로드가 있는 경우, 환경 성능에 상당한 영향을 미칠 수 있습니다.
이 경우, 추가 조정이 필요할 수 있습니다. 링크된 문서를 확인하고 고객 성공 관리자 또는 지원 팀에 추가 안내를 요청하세요.
테스트 방법론
1k 아키텍처는 대다수의 워크플로우를 커버하도록 설계되었습니다. 이는 정기적으로 스모크 및 성능 테스트를 통해 Test Platform 팀에 의해 다음 엔드포인트 처리량 목표에 맞춰 테스트됩니다:
- API: 20 RPS
- 웹: 2 RPS
- Git (Pull): 2 RPS
- Git (Push): 1 RPS
이 목표는 CI 및 기타 워크로드를 포함한 사용자 수에 해당하는 총 환경 부하에 대한 실제 고객 데이터를 기반으로 선택됩니다.
테스트는 우리의 GitLab 성능 도구 (GPT)와 그 데이터 세트를 사용하여 정기적으로 수행됩니다. 이 데이터 세트는 누구나 사용할 수 있습니다.
이 테스트 결과는 GPT 위키에서 공개적으로 제공됩니다. 우리의 테스트 전략에 대한 자세한 정보는 검증 및 테스트 결과를 참조하세요.
설정 지침
기본 참조 아키텍처를 위한 GitLab 설치하려면 표준 설치 지침을 사용하세요.
또한 선택적으로 GitLab을 외부 PostgreSQL 서비스 또는 외부 객체 저장소 서비스를 사용하도록 구성할 수 있습니다. 이는 성능과 안정성을 개선하지만 복잡성이 증가합니다.
고급 검색 구성
세부 사항: Tier: Premium, Ultimate Offering: Self-managed
Elasticsearch를 활용하고 전체 GitLab 인스턴스에서 더 빠르고 고급 코드 검색을 위한 고급 검색을 활성화할 수 있습니다.
Elasticsearch 클러스터 설계 및 요구 사항은 귀하의 데이터에 따라 다릅니다. 인스턴스에 맞춰 Elasticsearch 클러스터를 설정하는 데 대한 권장 모범 사례는 최적의 클러스터 구성 선택을 참조하세요.
클라우드 네이티브 하이브리드 참조 아키텍처와 Helm Charts
클라우드 네이티브 하이브리드 참조 아키텍처 설정에서는 선택된 무상태 구성 요소가 Kubernetes에 배포됩니다. 이를 위해 우리의 공식 Helm Charts를 사용합니다.
상태 저장 구성 요소는 Linux 패키지가 포함된 컴퓨팅 VM에 배포됩니다.
Kubernetes에서 사용할 수 있는 가장 작은 참조 아키텍처는 2k 또는 40 RPS GitLab Cloud Native Hybrid(비 HA) 및 3k 또는 60 RPS GitLab Cloud Native Hybrid(HA)입니다.
사용자 수가 적거나 RPS가 낮은 환경에서는 노드 사양을 낮출 수 있습니다. 사용자 수에 따라 모든 권장 노드 사양을 원하는 대로 낮출 수 있습니다. 그러나 일반 요구 사항보다 더 낮추지 않아야 합니다.
다음 단계
이제 핵심 기능이 적절하게 구성된 새로운 GitLab 환경이 마련되었습니다. 필요에 따라 추가 선택적 GitLab 기능을 구성할 수 있습니다. 자세한 내용은 GitLab 설치 후 단계를 참조하세요.
참고: 환경 및 요구사항에 따라 추가 기능을 설정하기 위해 추가 하드웨어 요구사항이나 조정이 필요할 수 있습니다. 자세한 내용은 개별 페이지를 참조하세요.