백업 스토리지 벤치마크#
Mattermost 배포를 최적화하기 위해서는 백업 스토리지의 성능 특성을 이해하는 것이 중요합니다. 이러한 벤치마크는 각 스토리지 옵션의 상대적 성능에 대한 통찰력을 제공하여 사용 사례와 인프라 요구 사항에 기반한 정보에 입각한 결정을 내리는 데 도움을 줍니다.
이 페이지는 로컬 파일 시스템 (EBS, gp3), 네트워크 파일 시스템 (EFS), 그리고 오브젝트 스토리지 (S3) 를 포함한 지원되는 스토리지 옵션에 대한 상세한 쓰기 및 읽기 벤치마크 결과를 제공합니다.
쓰기 작업#
파일 크기 |
로컬 (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는 모든 파일 크기에서 쓰기가 가장 느립니다.
읽기 작업#
파일 크기 |
로컬 (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) |
참고
읽기 성능: Local과 EFS는 매우 큰 파일(10GB)에서 비슷한 읽기 성능을 보이지만, 작은 파일에서는 Local 스토리지가 더 우수합니다. S3 읽기 성능은 특히 대용량 파일에서 훨씬 느립니다(10GB 파일의 경우 150.66초 대 ~1.56초).
일관성: Local 스토리지는 작은 파일에서 가장 일관된 성능(낮은 표준 편차)을 보이지만, EFS는 큰 파일에서 더 일관된 성능을 보입니다. S3는 일반적으로 모든 메트릭에서 더 높은 변동성을 보입니다.
중앙값 vs 평균: 중앙값(p50)은 일반적으로 평균과 일치하지만, 일부 경우(특히 EFS 읽기 작업)에는 중앙값이 이상치가 평균에 상당한 영향을 미친다는 것을 보여줍니다. 예를 들어, 100MB와 1GB 파일에 대한 EFS 읽기 성능은 평균보다 훨씬 더 나은 중앙값을 보여줍니다.

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