백업 스토리지 벤치마크
백업 스토리지의 성능 특성을 이해하는 것은 Mattermost 배포를 최적화하는 데 매우 중요합니다. 이 페이지는 로컬 파일 시스템(EBS, gp3), 네트워크 파일 시스템(EFS), 오브젝트 스토리지(S3)를 포함한 지원되는 스토리지 옵션에 대한 자세한 쓰기 및 읽기 벤치마크 결과를 제공합니다.
백업 스토리지의 성능 특성을 이해하는 것은 Mattermost 배포를 최적화하는 데 매우 중요합니다. 이 벤치마크는 각 스토리지 옵션의 상대적인 성능에 대한 통찰을 제공하여 사용 사례와 인프라 요구사항을 기반으로 정보에 입각한 결정을 내릴 수 있도록 도와줍니다.
이 페이지는 로컬 파일 시스템(EBS, gp3), 네트워크 파일 시스템(EFS), 오브젝트 스토리지(S3)를 포함한 지원되는 스토리지 옵션에 대한 자세한 쓰기 및 읽기 벤치마크 결과를 제공합니다.
쓰기 작업#
| File Size | Local (EBS) | EFS | S3 |
|---|---|---|---|
| 100KB | 0.57 ms (±0.26 ms, p50: 0.63 ms) | 34.47 ms (±6.33 ms, p50: 32.57 ms) | 181.59 ms (±39.05 ms, p50: 174.83 ms) |
| 1MB | 2.08 ms (±0.92 ms, p50: 2.28 ms) | 57.43 ms (±7.32 ms, p50: 58.16 ms) | 277.13 ms (±49.95 ms, p50: 279.36 ms) |
| 10MB | 18.15 ms (±5.31 ms, p50: 18.23 ms) | 180.58 ms (±97.95 ms, p50: 150.35 ms) | 469.29 ms (±166.32 ms, p50: 462.12 ms) |
| 100MB | 585.14 ms (±274.38 ms, p50: 795.78 ms) | 390.87 ms (±166.32 ms, p50: 339.20 ms) | 1.09 s (±0.04 s, p50: 1.09 s) |
| 1GB | 7.42 s (±2.13 s, p50: 7.99 s) | 3.05 s (±1.09 s, p50: 2.93 s) | 10.65 s (±0.82 s, p50: 10.44 s) |
| 10GB | 70.66 s (±7.05 s, p50: 80.50 s) | 26.54 s (±2.47 s, p50: 26.86 s) | 109.05 s (±12.47 s, p50: 105.13 s) |
쓰기 성능: 로컬 EBS 스토리지는 소용량 파일(100KB~10MB)에서 가장 빠르며, EFS는 대용량 파일(100MB~10GB)에서 더 나은 성능을 보입니다. S3는 모든 파일 크기에서 쓰기가 일관되게 가장 느립니다.
읽기 작업#
| File Size | Local (EBS) | EFS | S3 |
|---|---|---|---|
| 100KB | 0.05 ms (±0.02 ms, p50: 0.04 ms) | 0.66 ms (±0.17 ms, p50: 0.60 ms) | 28.55 ms (±4.12 ms, p50: 27.63 ms) |
| 1MB | 0.18 ms (±0.06 ms, p50: 0.18 ms) | 0.82 ms (±0.19 ms, p50: 0.72 ms) | 27.03 ms (±4.28 ms, p50: 27.54 ms) |
| 10MB | 1.27 ms (±0.27 ms, p50: 1.16 ms) | 7.83 ms (±18.12 ms, p50: 1.68 ms) | 108.24 ms (±0.56 ms, p50: 108.18 ms) |
| 100MB | 16.50 ms (±0.95 ms, p50: 16.16 ms) | 73.53 ms (±182.32 ms, p50: 16.91 ms) | 1.05 s (±0.00 s, p50: 1.05 s) |
| 1GB | 167.89 ms (±2.19 ms, p50: 167.72 ms) | 773.41 ms (±1768.89 ms p50: 168.17 ms) | 10.49 s (±0.02 s, p50: 10.49 s) |
| 10GB | 1.57 s (±0.03 s, p50: 1.56 s) | 1.56 s (±0.02 s, p50: 1.55 s) | 150.66 s (±33.47 s, p50: 146.51 s) |
- 읽기 성능: 로컬과 EFS는 매우 대용량 파일(10GB)에서 비슷한 읽기 성능을 보이지만, 소용량 파일에서는 로컬 스토리지가 더 뛰어납니다. S3 읽기 성능은 특히 대용량 파일(10GB 파일의 경우 약 1.56초 대비 150.66초)에서 현저히 느립니다.
- 일관성: 로컬 스토리지는 소용량 파일에서 가장 일관된 성능을 보이며(낮은 표준 편차), EFS는 대용량 파일에서 더 일관된 성능을 보입니다. S3는 일반적으로 모든 메트릭에서 높은 변동성을 보입니다.
- 중앙값 대 평균: 중앙값(p50)은 일반적으로 평균과 일치하지만, 일부 경우(특히 EFS 읽기 작업)에서는 중앙값이 이상값이 평균에 미치는 영향이 크다는 것을 보여줍니다. 예를 들어 100MB 및 1GB 파일의 EFS 읽기 성능은 평균보다 중앙값이 훨씬 좋습니다.

테스트 참고사항#
- S3 테스트의 경우 Amazon S3 exported upload part size는 기본값(100MB)으로 설정되었습니다.
- 로컬 EBS 스토리지는 EC2 인스턴스에서 제공되는 기본 gp3(3000 IOPS)입니다.
- EBS와 EFS 솔루션 모두 애플리케이션 관점에서
로컬스토리지 옵션으로 간주되며, 두 경우 모두 파일 스토리지 시스템이local로 설정됩니다. EFS는 기본적으로 AWS의 관리형 NFS로, 고가용성(HA) 배포에서 여러 Mattermost 노드가 공통 파일 시스템을 공유할 수 있도록 함으로써 S3의 잠재적인 대안으로 사용할 수 있습니다. 이러한 HA 시나리오에서 단일 인스턴스에 연결된 EBS 볼륨과 같은 표준 로컬 파일 스토리지는 여러 노드에서 공유할 수 없으므로 적합하지 않습니다. EFS는 이 경우 좋은 대안이지만, EFS는 EBS와 같은 블록 스토리지 솔루션이 아닙니다.
지원되는 스토리지 옵션#
Local#
Mattermost 서버의 로컬 파일 시스템입니다. AWS와 같은 클라우드 환경에서 실행하는 경우, 이는 종종 인스턴스에 직접 연결된 블록 레벨 스토리지를 제공하는 Elastic Block Storage(EBS)를 활용합니다. 이 설정은 스토리지가 서버에 로컬이기 때문에 일반적으로 낮은 지연 시간으로 높은 성능을 제공합니다. 이 옵션은 낮은 지연 시간으로 인해 소용량 파일에서 가장 빠른 경우가 많습니다.
EFS#
여러 인스턴스에 걸친 공유 액세스를 지원하는 관리형 파일 스토리지 솔루션인 Amazon Elastic File System입니다. EFS는 여러 인스턴스에 걸친 공유 액세스를 지원하지만, 네트워크 오버헤드가 발생하여 로컬 스토리지 옵션에 비해 성능에 영향을 줄 수 있습니다. EFS는 일반적으로 로컬 스토리지보다 느리지만 공유 액세스가 필요한 특정 사용 사례에서는 유용할 수 있습니다.
S3#
높은 내구성과 확장성을 제공하는 오브젝트 스토리지 솔루션인 Amazon Simple Storage Service입니다. S3는 대량의 데이터를 안정적으로 저장하는 데 적합하지만, 네트워크 기반 액세스와 블록 스토리지나 파일 스토리지가 아닌 오브젝트 스토리지의 특성으로 인해 더 높은 지연 시간과 느린 성능이 발생합니다.
