Home | 문태준 | 시스템어드민 메일링 | Sys Admin 세미나
Skip to end of metadata
Go to start of metadata

bonnie++ 에 대한 설명

bonnie++

http://www.coker.com.au/bonnie++/
bonnie++ 은 disk i/o 벤치마킹하는 프로그램으로 c++로 되어있다.
하드 드라이브와 파일 시스템 성능에 대한 간단한 테스팅을 목적으로 만들어졌다.
프로그램 실행을 통해 sequentail/random 에 대한 자료가 함께 나오므로 서로 다른 파일시스템을 간단히 비교하는데 도움이 될 수 있다. (예로서 SATA, SAS 디스크 성능에 대한 간단비교등)
그렇지만 하나의 시스템에서 특정한 옵션를 바꾸어가면서 성능을 테스팅하기에는 적합하지 않은 듯 하다. 여러개의 테스팅을 동시에 진행하므로 그 순간에 시스템상태를 모니터링하기가 힘들기 때문이다.

벤치마킹참고자료 의 이슬림코리아 SSD Test 자료에 실제 사용한 예제가 있다.

테스팅항목으로는 두가지 섹션이 있다.

  • db 애플리케이션과 같은 형태를 모의훈련하는 것
  • squid, INN(뉴스서버일것임) 등과 같이 매우 작은 파일을 생성, 읽기, 삭제하는 테스팅

IO 테스팅을 하면 모두 6개의 결과가 나온다.
Sequential Output : Per-Character, Block, Rewrite
Sequential Input : Per-Character, Block, Rewrite
Random Seeks

여기에 파일생성테스팅을 하면 Sequential Create, Random Create 결과도 나온다.

-d : 테스트가 수행될 볼륨의 디렉토리
-s : Sequential 전송 Test 에 사용될 파일의 크기. 1024MB이상일 경우1024MB씩 나누어서 처리. 0이면 이 테스팅을 수행하지 않는다.
-n : 파일 생성/읽기/삭제에 사용될 파일의 갯수 및 크기. 파일갯수는 제일 앞의 수치에 1024개를 곱한다. 10:65536:8192 ==> 임의의 파일을 10240 개 (10*1024) 사용하며 파일크기는 최소 8k (8192byte) 에서 최대 64k(65536byte) 사이. 파일갯수를 0으로 지정하면 이 부분은 테스팅을 하지 않는다.
-m : label 용 시스템 이름
-r : System memory 의 크기를 지정. 4096MB (전송 테스트에 사용될 파일의 크기 지정과 관련된 크기). 일반적으로 자동으로 메모리를 감지하기 때문에 지정하지 않아도 된다.
-x : 테스트 수행 횟수
-u : 테스트 유저 ID. 맨페이지에서는 "It is not recommended to use root" 라고 하여 일반사용자로 하라고 되어있는데 이유는 나와있지 않다.
-g : gid
-q : quiet mode. 다른 부가적인 정보를 출력하지 않는다. 스크립트를 이용하여 나온 결과를 계속 모을 경우는 이 옵션을 쓰는게 편할 것이다. 최종 결과값만 간략히 한줄로 나온다.
-f : fase mode로 per-char io 테스트를 진행하지 않는다.
-b : no write buffering. fsync() after every write. page cache 를 최대한 사용하지 않도록 fsync() 함수를 매 트랜잭션후 사용. 컨트롤러의 실질적인 성능 확인 가능

특정 테스트가 500ms 미만이면 화면에는 "++++"로 나온다.

실행결과는 각 테스트별 초당 전송량, CPU 사용률을 출력한다.

실제 실행결과 예제화면

실행결과는 리다이렉션을 이용하여 파일로 저장할 수 있다. -q 옵션을 이용하여 결과만 남겨서 cvs 형태로 저장하여 사용하는것이 편리할 것이다. bon_csv2html 프로그램은 표준입력에서 csv 파일을 받아 html로 출력해준다. bon_csv2txt 는 표준입력에서 받은 csv 파일을 포맷된 형태로 출력한다.

bonnie

http://www.textuality.com/bonnie/
C로 된 프로그램. bonnie++ 은 bonnie를 기반으로 하여 c++로 만든 것이다.

사용방법은 간단하다. http://www.textuality.com/bonnie/intro.html

설치는 소스받아 make 하면 바이너리파일이 하나 만들어진다.

bonnie 는 아래의 테스팅을 하며 bonnie+ 처럼 여러개의 파일을 생성하고 삭제하는 테스팅은 하지 않는다.
Sequential Output : Per-Character, Block, Rewrite
Sequential Input : Per-Character, Block, Rewrite
Random Seeks

소스도 길지 않으므로 나중에 필요할때 확인해보면 좋을 듯하다.

Labels
  • No labels