9.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 동시 읽기 및 쓰기 수를 늘리려면 기본값은 16개 스레드인
-t
옵션을 사용합니다. 또한-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