벤치마킹 툴 측정도구 사용법 ( IOPS)
IWINV 가상서버는 OS 영역과 Volume 영역으로 분리되어 제공하고 있습니다.
Volume 영역은 데이터의 안정성을 위해 RAID 구성을 사용하고 있습니다.
RAID(1+0)구성은 어느 한쪽 디스크나 데이터의 일부 영역에 문제가 발생할 경우
레이드 구성에 의해 데이터 유실을 방지하는 rebuilding 과정을 거치게됩니다.
이를 통해 하드웨어적 유실에 대비할 수 있습니다.
또한, Ceph 시스템은 replica2로 구성되어 있어
데이터의 안정성을 위한 본제본을 보유하고 있으므로 안정성이 보장됩니다.
이를 통해 대용량 스토리지 영역의 쓰기속도는 'RAID 0 + Ceph replica 1'과 비교하여
상대적으로 느릴 수 있으나, 다른 클라우드 데이터 영역대비 우수한 퍼포먼스를 제공합니다.
※ RAID 0 + Ceph replica 1 구성은 현재 사용하지 않으며, 데이터 안정성을 보장받을 수 없는 구성입니다.
또한, 특정 가상머신(인스턴스)에서 다른 가상머신의 I/O에 영향받지 않도록
최대 I/O를 제어하기 위해 설계되어 있습니다.
Volume 영역의 IOPS 측정에는 다양한 도구가 사용될 수 있으며,
그 중 리눅스 오픈소스는 fio를 주로 사용합니다.
fio 벤치마크 툴인 sybench를 활용하여 iops를 테스트가 가능합니다.
※ 측정 기준은 sequential rw.rd.wr 와 random rw.rd.wr 등이 포함됩니다.
본 매뉴얼은 벤치마킹 툴 측정도구 사용법을 중심으로 테스트하는 과정을 소개합니다.
-------------------------------------------
fio 설치하여 iops 측정하기
-------------------------------------------
1. fio 설치 및 사용
* 설치 ( Ubuntu )
# apt-get install fio
( CentOS )
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel libaio-devel -y
# git clone git://git.kernel.dk/fio.git
# cd fio/
# make
# make install
* 사용 [아래는 fio를 이용한 iwinv 인스턴스 ( 1vCPU RAM 2기가 상품)의 iops 측정케이스입니다.]
(현 서비스 운용중인 영역의 인스턴스임을 감안하여 테스트하시기 바랍니다.)
# fio --directory=/mnt --name fio_test_file --rw=write --bs=4k --size=1G --numjobs=8 --time_based --runtime=60 --group_reporting --norandommap --iodepth=1
# fio --directory=/mnt --name fio_test_file --rw=read --bs=4k --size=1G --numjobs=8 --time_based --runtime=60 --group_reporting --norandommap --iodepth=1
2. sysbench 설치 및 사용
* 설치
# yum install sysbench ( apt-get install sysbench)
측정대상이되는 디스크 장치의 위치에서 다음을 실행합니다.
* sysbench를 이용한 IOPS 확인
# sysbench --test=fileio --file-total-size=5G prepare ( 40메가의 파일 128개가 생성됩니다. )
# sysbench --test=fileio --file-total-size=5G --file-test-mode=seqwr --init-rng=on --max-time=60 --max-requests=0 run
# sysbench --test=fileio --file-total-size=5G --file-test-mode=seqrd --init-rng=on --max-time=60 --max-requests=0 run
아래는 sysbench를 이용한 iwinv 인스턴스 ( 1vCPU RAM 2기가 상품)의 iops 측정케이스입니다.
※ 초당 257.55MB/s 의 순차쓰기
※ 초당 430.59MB/s의 순차 읽기
테스트가 완료되면 생성된 파일을 삭제합니다.
# sysbench --test=fileio --file-total-size=8G cleanup
*참고
sysbench에 대한 설명은 다음의 링크를 참조. ( http://imysql.com/wp-content/uploads/2014/10/sysbench-manual.pdf )