Knowledge Base/Linux

Bonnie++ 를 이용한 벤치마크

Woos™ 2009. 6. 1. 14:15
Bonnie++ 를 이용한 벤치마크 설명입니다.



Opensource BMT Tools Bonnie++

Bonnie++는 하드드라이브 그리고 파일시스템의 퍼포먼스를 테스트 하는 프로그램이다.

Bonnie++ Download
http://www.coker.com.au/bonnie++/


아래와 같은 방법으로 bonnie++-1.03a를 다운을 받는다.

압축 해제

다운받은 bonnie++-1.03a를 압축 해제


위의 파일은 바이너리 파일도 존재를 bonnie++ 홈페이지에 존재를 하고 있으나, 버전이 낮고 어떤 파일을 받아서 실행을 해야 할지 모르는 경우가 발생하기 때문에 소스파일을 가지고 compile해서 실행 파일을 만드는 경우로 했다.

Compile 과정

1. Configurure
bench/bonnie++-1.03a# ./configure --prefix=/opt/bonnie


2. make & install


이렇게 Configure & Make & Install과정을 거치후에 위에 Configure의 설정대로 /opt/bonnie Directory가 생성이되고 그 밑으로 실행파일들이 만들어 지게 된다.

bonnie++는 2가지 목적을 가지는 실행파일이 생성이 되게되는데
하나는 결과의 변화을 위한 유틸이고, 나머지 한가지는 실질적인 benchmark test util이 생성이되게 된다.




명령어옵션

bonnie++

bonnie++를 옵션없이 실행 시키면 아래내용과 같이 나타나며, 그 아래 내용들은 옵션을 간략히 설명해 둔것이다. 설명하지 않은 옵션들은 도움말을 참고하기 바란다.


옵션들은 무엇을 말하는가?

[-d scratch-dir ]
테스트에 사용될 Directory 지정

[-s size(Mb)[:chunk-size(b)]]
IO 퍼포먼스 처리를 위한 메가 바이트 단위의 파일크기. 만일 크기가 1G 보다 크다면 데이터는 1G단위의 여러개의 파일로 저장이되며, 각 파일들은 1G크기 안에서 처리된다.
chunk-size는 Byte단위 크기를 측정하며, 256에 1048576사이여야 한다.

[-n number-to-stat[:max-size[:min-size][:num-directories]]]
파일 생성 시험을 위한 파일의 수

[-m machine-name]
장비의 이름 - 보여주기 위한 목적

[-r ram-size-in-Mb]
Megabyes의 RAM 크기

[-x number-of-tests]
테스트 실행 회수

[-u uid-to-use:gid-to-use]
유저아이디 사용.

[-g uid-to-use:gid-to-use]
그룹아이디 사용.

[-q]
조용히 실행모드

[-f]
빠른 실행 모드

[-b]
buffering write를 않함. 모든 기록후 fsync()

[-p processes | -y]
실행 위한 세마포어 프로세스 수

-g #
자동모드에서 테스트할 최대 파일사이즈를 조정한다

결과 시험이500ms보다는 더 적은안에 그때 완료하면 산출은"++++"으로 보일 것이다


테스트

# /opt/bench/bonnie/sbin # ./bonnie++ -d /tmp -s 2048:1024 -n 100 -m `hostname` -r 1024 -u0:0 > `hostname`.100_result.txt

위의 옵션의 내용은 /tmp 디렉토리를 사용하고, 사이즈는 2048MB이면서 1024b(1k)의 chunk-size, 100개의 파일 테스트, 자신의 호스트, 메모리 1024MB, 유저는 root이다.


테스트를 마친후에 hostname.100_result.txt 파일을 가지고 Webpage 결과를 만들어보았습니다.


Text 결과
Version 1.03
------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
sles 2G:1k 17183 50 47977 55 18863 12 33460 71 37109 9 178.6 0
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files:max:min /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
sles 100 12784 72 +++++ +++ 7849 52 9794 55 +++++ +++ 3031 24


HTML 표로 변환하는 방법
tail -n 1 hostname.100_result.txt | bon_csv2html > report.html

브라우저로 파일을 확인하시면 표로 정리된 결과값을 얻을수 있습니다.

참고문서 또는 URL

http://www.coker.com.au/bonnie++/