InfoGrab Docs

릴리즈가 규모에서 성능을 발휘하도록 보장

Mattermost 릴리즈가 규모 확장에서 성능을 유지하는 방법을 설명합니다. 월별 부하 테스트, 확장 가능한 기능 개발, 데이터베이스 스키마 변경 지침, 릴리즈 후 모니터링을 안내합니다.

각 Mattermost 릴리즈가 규모 확장에서 높은 성능 기준을 유지하도록 보장하기 위해, Mattermost 엔지니어링 팀은 철저한 부하 테스트를 수행하고, 규모를 고려하여 기능을 개발하며, 데이터베이스 스키마 마이그레이션에 대한 엄격한 지침을 따릅니다. 월별 릴리즈 부하 테스트 # 매달, 배포 승인 전에 Mattermost 릴리즈 후보는 실제 고규모 사용 패턴과 일치하는 시뮬레이션 데이터를 사용하는 포괄적이고 성숙한 부하 테스트 도구 세트를 통해 부하 테스트를 받습니다. 여러 다양한 구성을 다루는 테스트가 수천 명의 사용자와 수백만 개의 게시물이 있는 Mattermost의 고가용성 배포에 대해 실행됩니다. PostgreSQL과 MySQL이 모두 테스트되지만, Mattermost v11에서 MySQL 지원이 종료 되면 MySQL 테스트는 제외될 예정입니다. 부하 테스트는 평균 API 요청 시간, 데이터베이스 I/O, 메모리 사용량, 동시성, 초당 요청 수 등을 자세히 설명하는 보고서를 생성합니다. 릴리즈 후보에 대한 이 성능 보고서는 이전 최신 안정 버전의 보고서와 비교됩니다. 편차는 릴리즈 후보가 최종 릴리즈로 승격되기 전에 조사하고 수정합니다. 분석과 함께 각 보고서는 공개 개발자: 성능 채널에 게시됩니다. 확장 가능한 기능 및 시스템 개발 # 규모 확장은 새로운 기능 및 시스템 개발 중에 중요한 고려사항이며, 소프트웨어 설계 프로세스의 시작부터 기술 사양에 포함됩니다. 구현의 일환으로, 부하 테스트 에이전트는 기능 또는 시스템에 대한 커버리지를 포함하도록 업데이트됩니다. 그런 다음 부하 테스트가 실행되고 결과가 기준과 비교됩니다. 코드 변경은 병합되기 전에 적어도 두 명의 개발자와 SDET/QA 분석가에 의해 검토됩니다. 병합되면 다음 날 새 빌드가 생성되어 Mattermost 커뮤니티 서버 에 배포됩니다. 변경 사항이 릴리즈 후보에 포함되기 전에 성능에 대한 영향이 3-4주 동안 모니터링됩니다. 데이터베이스 스키마 변경 # 데이터베이스 스키마 변경은 업그레이드 시 위험과 성능 영향을 줄이기 위해 최소화됩니다. 스키마 변경이 필요할 때 Mattermost는 마이그레이션 중 및 이후의 위험과 성능 영향을 최소화하는 엄격한 마이그레이션 지침 을 따릅니다. 더 복잡한 마이그레이션이 필요한 경우, 자세한 분석이 수행되고 지침과 함께 공개됩니다. 분석 예시로 Mattermost v6.0 스키마 마이그레이션 이 있습니다. 또한 모든 데이터베이스 스키마 변경은 월별 릴리즈 프로세스의 일환으로 부하 테스트를 받습니다. 릴리즈 후 모니터링 # 새 버전의 Mattermost가 릴리즈된 후, 여러 주에 걸쳐 Mattermost Cloud 고객에게 롤아웃됩니다. 롤아웃 중에 성능과 오류율 지표가 예상치 못한 변화에 대해 모니터링됩니다. 사용자에게 영향을 주는 변화가 관찰되면 릴리즈가 되돌려지고 편차가 조사되며 수정 사항이 패치 릴리즈의 일환으로 제공됩니다. 또한 Mattermost 채널, 사용자 포럼, 지원 티켓이 문제 보고에 대해 면밀히 모니터링됩니