InfoGrab DocsInfoGrab Docs

엔터프라이즈 규모 확장

요약

Mattermost는 단일 서버에서 호스팅되는 소규모 팀부터 클러스터 기반 고가용성 배포 구성으로 운영되는 대규모 기업까지 확장할 수 있도록 설계되었습니다. 서버 요구사항은 사용량에 따라 달라지며, 특정 조직의 요구에 따른 전체 규모 사용량을 추정하기 위해 전사적 배포 전에 파일럿을 실행하는 것을 강력히 권장합니다.

사용 가능 플랜: Enterprise, Enterprise Advanced

Mattermost는 단일 서버에서 호스팅되는 소규모 팀부터 클러스터 기반 고가용성 배포 구성으로 운영되는 대규모 기업까지 확장할 수 있도록 설계되었습니다.

  • Mattermost는 모든 64비트 x86 프로세서 아키텍처를 지원합니다.
  • 지원 데이터베이스: PostgreSQL, Amazon RDS for PostgreSQL
  • 지원 스토리지: Amazon S3 또는 로컬 파일스토어

서버 요구사항은 사용량에 따라 달라지며, 특정 조직의 요구에 따른 전체 규모 사용량을 추정하기 위해 전사적 배포 전에 파일럿을 실행하는 것을 강력히 권장합니다.

백킹 스토리지#

사용 사례와 인프라 요구에 맞는 결정을 내리기 위해 로컬 파일 시스템(EBS, gp3), 네트워크 파일 시스템(EFS), 객체 스토리지(S3)를 포함한 지원 스토리지 옵션에 대한 쓰기 및 읽기 스토리지 벤치마크 결과를 자세히 검토하세요.

엔터프라이즈 검색#

클러스터 환경에서 효율적인 데이터베이스 검색을 실행하기 위해 대규모 엔터프라이즈 배포에는 전용 서버를 강력히 권장합니다.

500만 개 이상의 게시물이 있는 배포의 경우, 성능 저하와 타임아웃 없이 전용 인덱싱과 클러스터 지원을 통해 최적화된 검색 성능, 빠르고 예측 가능한 검색 결과를 제공하기 위해 Elasticsearch 또는 AWS OpenSearch Service를 사용하는 엔터프라이즈 검색이 필요합니다.

고가용성#

고가용성 클러스터 기반 배포는 이중화 인프라를 통해 서비스 중단 및 하드웨어 장애 중에도 Mattermost 시스템이 서비스를 유지할 수 있도록 합니다.

Redis#

Redis는 데이터베이스, 캐시, 메시지 브로커로 사용할 수 있는 인메모리 데이터 구조 저장소입니다. Mattermost는 규모 확장 시 성능을 향상시키기 위한 외부 캐시로 Redis를 사용합니다. 올바르게 구성하면 Redis는 효율적인 캐싱을 통해 향상된 성능을 제공하여 100,000명 이상의 사용자를 보유한 Mattermost 설치를 지원하는 데 도움이 됩니다.

사용 가능한 레퍼런스 아키텍처#

다음 레퍼런스 아키텍처는 자체 호스팅 Mattermost 배포를 위한 권장 시작점으로 제공됩니다. 여기서 사용자 수는 특정 배포의 동시 사용자 수를 의미합니다. 동시 사용자 수는 일반적으로 총 사용자 계정 수보다 적습니다.

Important

테스트 제약으로 인해 이러한 레퍼런스 아키텍처를 도출한 모든 규모 확장 테스트에서 프록시 인스턴스 사양이 고정되었습니다. 이는 테스트에서 변수의 조합 폭발을 피하기 위해 수행되었지만, 레퍼런스 아키텍처의 특정 측면에 대한 이해에 사소한 격차가 생겼습니다. 특히, 더 작은 사용자 수에서는 프록시 인스턴스가 과잉 사양으로 설정되어 있습니다.

테스트 방법론 및 업데이트#

모든 테스트는 각 배포 크기에서 지원되는 사용자를 결정하기 위해 Mattermost 개발팀이 개발한 사용자 정의 부하 테스트 도구를 사용하여 실행되었습니다. 시간이 지남에 따라 이 가이드는 새로운 배포 크기, 배포 아키텍처로 업데이트되고, ESR을 사용하여 최신 버전의 Mattermost 서버가 테스트될 것입니다.

개괄적으로, 각 배포 크기는 고정되었으며(Mattermost 서버 노드 수/사양, 데이터베이스 reader/writer 수/사양), 배포가 지원할 수 있는 최대 동시 사용자 수를 보고하기 위해 제한 없는 테스트가 사용되었습니다. 각 테스트에는 운영 환경의 Mattermost 배포를 시뮬레이션하기 위해 데이터가 채워진 PostgreSQL v14 데이터베이스와 1억 개의 게시물, 약 200000명의 사용자, 20개의 팀, 약 720000개의 채널로 구성된 게시물 테이블 이력이 포함되었습니다.

테스트는 각 시뮬레이션 사용자가 실행하는 작업(및 해당 작업의 빈도) 구성으로 정의되었으며, 코디네이터 메트릭은 부하 상태에서의 정상 시스템을 정의합니다. 테스트는 Mattermost v9.5 Extended Support Release(ESR)를 사용하여 수행되었습니다. 작업 서버는 사용되지 않았습니다. 앱 노드가 둘 이상인 모든 테스트에서는 앞단에 NGINX 프록시가 실행되었습니다.

마지막 200K 사용자 테스트에서는 추가적인 인프라 변경이 이루어졌습니다. Elasticsearch 노드가 추가되었고, Redis 인스턴스가 추가되었으며, 클러스터의 모든 노드에 트래픽을 고르게 분산하기 위해 여러 NGINX 프록시가 사용되었습니다. 자세한 내용은 200000명 사용자로 확장 문서 페이지에서 확인할 수 있습니다.

1억 개의 게시물이 포함된 고정 데이터베이스 덤프를 포함하여 전체 테스트 방법론, 구성, 설정을 확인할 수 있습니다. 자세한 내용은 Mattermost Community를 방문하여 Developers: Performance 채널에 참여하세요.

이러한 레퍼런스 아키텍처에서 제공하는 성능 사양과 사용자 수용 능력은 AWS 환경에서 수행한 광범위한 테스트를 기반으로 합니다.

Azure 배포의 경우, 인스턴스 사양은 AWS 성능 데이터와 업계 전문 지식을 바탕으로 동등한 구성을 사용하여 추정되었습니다. 이러한 구성은 명시된 요구 사항을 충족하도록 설계되었지만, 부하 상태에서의 성능을 검증하기 위한 공식 테스트는 Azure 환경에서 아직 수행하지 않았습니다. Azure Blob Storage 지원은 활발히 개발 중이며 아직 Mattermost에서 기본적으로 지원되지 않습니다.

Mattermost 부하 테스트 도구#

Mattermost는 대규모 서버 설치의 실제 사용을 시뮬레이션하여 높은 부하에서 Mattermost를 프로파일링하는 데 도움이 되는 Go로 작성된 도구 모음을 제공합니다. Mattermost Load Test Tool은 대상 시스템이 지원하는 최대 동시 활성 사용자 수를 추정하고, 생성할 부하를 제어할 수 있도록 합니다.

도구 시작 방법에 대한 자세한 내용은 GitHub의 Mattermost Load Test Tool 문서를 방문하고, 코드 관련 문서의 자세한 내용은 Go 문서를 방문하세요.

Important
  • Mattermost Load Test Tool은 당사의 성능 엔지니어가 설계하여 사용하는 도구로, 새 릴리즈를 준비하기 위해 월별로 서비스 성능을 비교하고 벤치마크하는 데 사용됩니다. 또한 권장 하드웨어 사양을 개발할 때에도 광범위하게 사용됩니다.
  • 지속적인 모니터링과 규모 확장 가이드를 위해 당사의 대시보드와 함께 Prometheus 및 Grafana를 배포할 것을 권장합니다.
  • 성능 문제가 발생하면 첫 번째 문제 해결 단계로 성능 메트릭을 수집하여 당사와 공유할 것을 권장합니다.

라이브 데모 예약 또는 Mattermost 전문가와 상담을 통해 조직의 안전한 협업 요구에 맞는 맞춤형 솔루션을 알아보세요. 또는 1시간 체험판으로 라이브 샌드박스 환경에 즉시 접속하여 Mattermost를 직접 사용해 보세요.

엔터프라이즈 규모 확장

Mattermost v12.0
원문 보기

요약

Mattermost는 단일 서버에서 호스팅되는 소규모 팀부터 클러스터 기반 고가용성 배포 구성으로 운영되는 대규모 기업까지 확장할 수 있도록 설계되었습니다. 서버 요구사항은 사용량에 따라 달라지며, 특정 조직의 요구에 따른 전체 규모 사용량을 추정하기 위해 전사적 배포 전에 파일럿을 실행하는 것을 강력히 권장합니다.

사용 가능 플랜: Enterprise, Enterprise Advanced

Mattermost는 단일 서버에서 호스팅되는 소규모 팀부터 클러스터 기반 고가용성 배포 구성으로 운영되는 대규모 기업까지 확장할 수 있도록 설계되었습니다.

  • Mattermost는 모든 64비트 x86 프로세서 아키텍처를 지원합니다.
  • 지원 데이터베이스: PostgreSQL, Amazon RDS for PostgreSQL
  • 지원 스토리지: Amazon S3 또는 로컬 파일스토어

서버 요구사항은 사용량에 따라 달라지며, 특정 조직의 요구에 따른 전체 규모 사용량을 추정하기 위해 전사적 배포 전에 파일럿을 실행하는 것을 강력히 권장합니다.

백킹 스토리지#

사용 사례와 인프라 요구에 맞는 결정을 내리기 위해 로컬 파일 시스템(EBS, gp3), 네트워크 파일 시스템(EFS), 객체 스토리지(S3)를 포함한 지원 스토리지 옵션에 대한 쓰기 및 읽기 스토리지 벤치마크 결과를 자세히 검토하세요.

엔터프라이즈 검색#

클러스터 환경에서 효율적인 데이터베이스 검색을 실행하기 위해 대규모 엔터프라이즈 배포에는 전용 서버를 강력히 권장합니다.

500만 개 이상의 게시물이 있는 배포의 경우, 성능 저하와 타임아웃 없이 전용 인덱싱과 클러스터 지원을 통해 최적화된 검색 성능, 빠르고 예측 가능한 검색 결과를 제공하기 위해 Elasticsearch 또는 AWS OpenSearch Service를 사용하는 엔터프라이즈 검색이 필요합니다.

고가용성#

고가용성 클러스터 기반 배포는 이중화 인프라를 통해 서비스 중단 및 하드웨어 장애 중에도 Mattermost 시스템이 서비스를 유지할 수 있도록 합니다.

Redis#

Redis는 데이터베이스, 캐시, 메시지 브로커로 사용할 수 있는 인메모리 데이터 구조 저장소입니다. Mattermost는 규모 확장 시 성능을 향상시키기 위한 외부 캐시로 Redis를 사용합니다. 올바르게 구성하면 Redis는 효율적인 캐싱을 통해 향상된 성능을 제공하여 100,000명 이상의 사용자를 보유한 Mattermost 설치를 지원하는 데 도움이 됩니다.

사용 가능한 레퍼런스 아키텍처#

다음 레퍼런스 아키텍처는 자체 호스팅 Mattermost 배포를 위한 권장 시작점으로 제공됩니다. 여기서 사용자 수는 특정 배포의 동시 사용자 수를 의미합니다. 동시 사용자 수는 일반적으로 총 사용자 계정 수보다 적습니다.

Important

테스트 제약으로 인해 이러한 레퍼런스 아키텍처를 도출한 모든 규모 확장 테스트에서 프록시 인스턴스 사양이 고정되었습니다. 이는 테스트에서 변수의 조합 폭발을 피하기 위해 수행되었지만, 레퍼런스 아키텍처의 특정 측면에 대한 이해에 사소한 격차가 생겼습니다. 특히, 더 작은 사용자 수에서는 프록시 인스턴스가 과잉 사양으로 설정되어 있습니다.

테스트 방법론 및 업데이트#

모든 테스트는 각 배포 크기에서 지원되는 사용자를 결정하기 위해 Mattermost 개발팀이 개발한 사용자 정의 부하 테스트 도구를 사용하여 실행되었습니다. 시간이 지남에 따라 이 가이드는 새로운 배포 크기, 배포 아키텍처로 업데이트되고, ESR을 사용하여 최신 버전의 Mattermost 서버가 테스트될 것입니다.

개괄적으로, 각 배포 크기는 고정되었으며(Mattermost 서버 노드 수/사양, 데이터베이스 reader/writer 수/사양), 배포가 지원할 수 있는 최대 동시 사용자 수를 보고하기 위해 제한 없는 테스트가 사용되었습니다. 각 테스트에는 운영 환경의 Mattermost 배포를 시뮬레이션하기 위해 데이터가 채워진 PostgreSQL v14 데이터베이스와 1억 개의 게시물, 약 200000명의 사용자, 20개의 팀, 약 720000개의 채널로 구성된 게시물 테이블 이력이 포함되었습니다.

테스트는 각 시뮬레이션 사용자가 실행하는 작업(및 해당 작업의 빈도) 구성으로 정의되었으며, 코디네이터 메트릭은 부하 상태에서의 정상 시스템을 정의합니다. 테스트는 Mattermost v9.5 Extended Support Release(ESR)를 사용하여 수행되었습니다. 작업 서버는 사용되지 않았습니다. 앱 노드가 둘 이상인 모든 테스트에서는 앞단에 NGINX 프록시가 실행되었습니다.

마지막 200K 사용자 테스트에서는 추가적인 인프라 변경이 이루어졌습니다. Elasticsearch 노드가 추가되었고, Redis 인스턴스가 추가되었으며, 클러스터의 모든 노드에 트래픽을 고르게 분산하기 위해 여러 NGINX 프록시가 사용되었습니다. 자세한 내용은 200000명 사용자로 확장 문서 페이지에서 확인할 수 있습니다.

1억 개의 게시물이 포함된 고정 데이터베이스 덤프를 포함하여 전체 테스트 방법론, 구성, 설정을 확인할 수 있습니다. 자세한 내용은 Mattermost Community를 방문하여 Developers: Performance 채널에 참여하세요.

이러한 레퍼런스 아키텍처에서 제공하는 성능 사양과 사용자 수용 능력은 AWS 환경에서 수행한 광범위한 테스트를 기반으로 합니다.

Azure 배포의 경우, 인스턴스 사양은 AWS 성능 데이터와 업계 전문 지식을 바탕으로 동등한 구성을 사용하여 추정되었습니다. 이러한 구성은 명시된 요구 사항을 충족하도록 설계되었지만, 부하 상태에서의 성능을 검증하기 위한 공식 테스트는 Azure 환경에서 아직 수행하지 않았습니다. Azure Blob Storage 지원은 활발히 개발 중이며 아직 Mattermost에서 기본적으로 지원되지 않습니다.

Mattermost 부하 테스트 도구#

Mattermost는 대규모 서버 설치의 실제 사용을 시뮬레이션하여 높은 부하에서 Mattermost를 프로파일링하는 데 도움이 되는 Go로 작성된 도구 모음을 제공합니다. Mattermost Load Test Tool은 대상 시스템이 지원하는 최대 동시 활성 사용자 수를 추정하고, 생성할 부하를 제어할 수 있도록 합니다.

도구 시작 방법에 대한 자세한 내용은 GitHub의 Mattermost Load Test Tool 문서를 방문하고, 코드 관련 문서의 자세한 내용은 Go 문서를 방문하세요.

Important
  • Mattermost Load Test Tool은 당사의 성능 엔지니어가 설계하여 사용하는 도구로, 새 릴리즈를 준비하기 위해 월별로 서비스 성능을 비교하고 벤치마크하는 데 사용됩니다. 또한 권장 하드웨어 사양을 개발할 때에도 광범위하게 사용됩니다.
  • 지속적인 모니터링과 규모 확장 가이드를 위해 당사의 대시보드와 함께 Prometheus 및 Grafana를 배포할 것을 권장합니다.
  • 성능 문제가 발생하면 첫 번째 문제 해결 단계로 성능 메트릭을 수집하여 당사와 공유할 것을 권장합니다.

라이브 데모 예약 또는 Mattermost 전문가와 상담을 통해 조직의 안전한 협업 요구에 맞는 맞춤형 솔루션을 알아보세요. 또는 1시간 체험판으로 라이브 샌드박스 환경에 즉시 접속하여 Mattermost를 직접 사용해 보세요.