본 내용은 Ceph Blog에 OSD 성능 테스트 내용을 간략화 하였습니다.
https://ceph.io/en/news/blog/2023/reef-osds-per-nvme/
1. Overview
Ceph 구축에 있어서 하나의 Disk (NVMe) 당 몇개의 OSD을 사용하여야 하느냐는 고민은 항상 있습니다.
전통적으로 하나의 Disk 당 OSD 1개 또는 2개 라고 가이드를 합니다.
Ceph의 Nautilus, Octopus 및 Pacific 을 거치면서 OSD 및 Bluestore 코드에 대한 크게 성능 향상이 이루어 졌습니다.
다음은 Ceph Version 에 따른 성능 향사을 그래프로 나타내고 있습니다.
또한 Pacific을 기준으로 하여 NVMe 당 OSD 1개일 때와 2개일 때의 성능 테스트에 대한 결과를 공유해 드립니다.
1.1 클러스터 설정
Node | 10 x Dell PowerEdge R6515 |
CPU | 1 x AMD EPYC 7742 64C / 128T |
Memory | 128GiB DDR4 |
Network | 1 x 100GbE Mellanox ConnectX-6 |
NVMe | 6 x 4TB Samsung PM983 |
OS Version | CentOS Stream release 8 |
Ceph Version | Reef v18.2.0 (built form source) |
- 10개의 Node 중, OSD 호스팅 노드 5대 + 클라이언트 노드 5대
- 모든 Node 동일한 Juniper QFX5200 스위치 + 100GbE QSFP28 Link
- OS 최적화 TuneD Profile 은 "latency-performance" 또는 "network-latency" 모드
1.2 테스트 설정
각 OSD에 할당된 코어 수와 메모리 양은 일반적이나 테스트를 위해 다음과 같은 방식을 이용하여 설정
paste <(cat /proc/cpuinfo | grep "core id") <(cat /proc/cpuinfo | grep "processor") | sed 's/[[:blank:]]/ /g'
- 테스트를 위해 NVMe 드라이브당 2 ~ 20개의 CPU Threads 로 설정
- FIO를 위해 Write로 RBD(Block Volume)을 채우고 각각 60 초 동안 4MB 및 4KB IO 테스트 수행
- Scrub, Deep Scrub, PG autoscaling, PG balancing 와 같은 백그라운드 프로세스 비활성화
2. 테스트 결과
2.1 4MB Throughput
2.2 4KB Random IOPS
2.3 4KB Random Latency
2.4 4KB Random 99% Tail Latency
2.5 4KB Random CPU Usage
2.6 4KB Random IOPS / CPU Usage
2.7 4KB Random Memory Usage
3. 결론
NVMe 당 OSD 1개를 사용할 때와 2개를 사용할 때의 장단점이 명확하게 확인 할 수 있습니다.
1 OSD per NVMe Pros | 2 OSD per NVMe Pros |
+ 더 간단한 구성 | + 약간 더 나은 대용량 읽기 처리량 |
+ 더 나은 대용량 쓰기 처리량 | + CPU 집약도가 높을 때, IOPS 향상 |
+ CPU 가 부족할 때 IOPS가 약간 향상 됨 | + CPU 집약도가 높을 때, 지연 시간 개선 |
+ 더 나은 CPU 효율성 | + 상당히 향상된 지연 시간 |
+ 약간 더 나은 Memory 사용량 |
※ 하드웨어 구성에 따라 CPU, Memory 설정에 따라 다른 결과가 나올 수도 있습니다.
'Software Defined Storage' 카테고리의 다른 글
IBM Storage Ceph S3-Select 벤치마크 (Trino을 사용한 TPC-DS) (0) | 2024.04.22 |
---|---|
IBM Ceph Storage 7.0 - NVMe over TCP Gateway (Tech Preview) (0) | 2024.04.13 |
볼륨 성능 테스트 방법 (0) | 2021.09.27 |
Gluster 볼륨을 통한 Samba 서비스 구성 (0) | 2020.10.12 |
GlusterFS 설치 (0) | 2020.09.07 |