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