7.3. Ceph 성능 벤치마킹
Ceph에는 RADOS 스토리지 클러스터에서 성능 벤치마킹을 수행하는 rados bench
명령이 포함되어 있습니다. 이 명령은 쓰기 테스트와 두 가지 유형의 읽기 테스트를 실행합니다. --no-cleanup
옵션은 읽기 및 쓰기 성능을 모두 테스트할 때 사용하는 것이 중요합니다. 기본적으로 rados bench
명령은 스토리지 풀에 기록된 오브젝트를 삭제합니다. 이러한 오브젝트 뒤에 있으면 두 읽기 테스트가 순차적이고 임의의 읽기 성능을 측정할 수 있습니다.
이러한 성능 테스트를 실행하기 전에 다음을 실행하여 모든 파일 시스템 캐시를 삭제합니다.
echo 3 | sudo tee /proc/sys/vm/drop_caches && sudo sync
[root@mon~ ]# echo 3 | sudo tee /proc/sys/vm/drop_caches && sudo sync
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스입니다.
절차
새 스토리지 풀을 생성합니다.
ceph osd pool create testbench 100 100
[root@osd~ ]# ceph osd pool create testbench 100 100
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새로 생성된 스토리지 풀에 대해 10초 동안 쓰기 테스트를 실행합니다.
rados bench -p testbench 10 write --no-cleanup
[root@osd~ ]# rados bench -p testbench 10 write --no-cleanup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 풀에 대해 10초 동안 순차적 읽기 테스트를 실행합니다.
# rados bench -p testbench 10 seq
[root@osd~ ]## rados bench -p testbench 10 seq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 풀에 대해 10초 동안 임의 읽기 테스트를 실행합니다.
rados bench -p testbench 10 rand
[root@osd ~]# rados bench -p testbench 10 rand
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 동시 읽기 및 쓰기 수를 늘리려면 기본값인 16개 스레드인
-t
옵션을 사용합니다. 또한-b
매개변수는 작성 중인 오브젝트의 크기를 조정할 수 있습니다. 기본 오브젝트 크기는 4MB입니다. 안전한 최대 오브젝트 크기는 16MB입니다. Red Hat은 이러한 벤치마크 테스트의 여러 사본을 다른 풀에 실행하는 것이 좋습니다. 이렇게 하면 여러 클라이언트의 성능 변경 사항이 표시됩니다.--run-name <label
> 옵션을 추가하여 벤치마크 테스트 중에 작성된 오브젝트의 이름을 제어합니다. 실행 중인 각 명령 인스턴스에 대해--run-name
레이블을 변경하여 여러rados bench
명령을 동시에 실행할 수 있습니다. 이렇게 하면 여러 클라이언트가 동일한 개체에 액세스하려고 하고 다른 클라이언트가 다른 개체에 액세스할 수 있는 경우 발생할 수 있는 잠재적인 I/O 오류가 발생하지 않습니다.--run-name
옵션은 실제 워크로드를 시뮬레이션할 때 유용합니다. 예를 들어 다음과 같습니다.rados bench -p testbench 10 write -t 4 --run-name client1
[root@osd ~]# rados bench -p testbench 10 write -t 4 --run-name client1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rados bench
명령으로 생성된 데이터를 제거합니다.rados -p testbench cleanup
[root@osd ~]# rados -p testbench cleanup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow