Use bonnie++ to Test system IO speed
http://www.eygle.com/unix/Use.Bonnie++.To.Test.IO.speed.htm
보 니 는 > 2G 파일 지원. Russell Coker () 와 같은 잘 알려 진 문제 가 있 기 때 문 입 니 다[email protected]) > 2G 파일 등 을 지원 하기 위해 새로운 코드 를 개 발 했 습 니 다. Tim Bray ([email protected]) 허 가 를 받 은 후에 러 셀 은 그의 소프트웨어 를 보 니 + 라 고 명명 하여 인터넷 에 발표 하고 유행 하기 시작 했다.
현재 버 전 은 1.03a 로 업데이트 되 었 습 니 다. 아래 주소 로 다운로드 할 수 있 습 니 다.http://www.coker.com.au/bonnie+ + / 당신 도 여 기 를 클릭 하여 다운로드 할 수 있 습 니 다. 이 버 전 은 컴 파일 이 필요 합 니 다. 컴 파일 환경 이 없다 면 여 기 를 클릭 하여 제 가 컴 파일 한 것 을 다운로드 할 수 있 습 니 다. SUN Solaris 환경 (Solaris 8 테스트 통과) 에 적 용 됩 니 다.
Russell Coker 의 개인 홈 페이지 는:http://www.coker.com.au/
보 니 + 보 니 와 의 차 이 는 주로:http://www.coker.com.au/bonnie++/diff.html
보 니 + 의 컴 파일 및 사용 에 대해 간단히 소개 하 겠 습 니 다.
1. 컴 파일
위 에서 다운로드 한 원본 코드 를 컴 파일 해 야 사용 할 수 있 습 니 다. 컴 파일 환경 이 없다 면 여 기 를 클릭 하여 제 가 컴 파일 한 것 을 다운로드 하 십시오. SUN Solaris 환경 (Solaris 8 테스트 통과) 에 적 용 됩 니 다.
물론 make, gcc 등 필요 한 컴 파일 러 를 설치 해 야 합 니 다. 컴 파일 과정 에서 다음 과 같은 오류 가 발생 하면 정확 한 환경 변 수 를 설정 하지 않 았 기 때 문 일 수 있 습 니 다.
$ ./configure
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
checking for g++... g++
checking for C++ compiler default output... a.out
checking whether the C++ compiler works... configure: error: cannot run C++ compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
환경 변 수 를 설정 한 후 계속 컴 파일 하면 성공 할 수 있 습 니 다.
# export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib
# ./configure
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
checking for g++... g++
checking for C++ compiler default output... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for a BSD-compatible install... /usr/bin/install -c
checking for an ANSI C-conforming const... yes
checking for egrep... egrep
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... no
checking for unistd.h... yes
checking for size_t... yes
checking vector.h usability... yes
checking vector.h presence... yes
checking for vector.h... yes
checking vector usability... yes
checking vector presence... yes
checking for vector... yes
checking algorithm usability... yes
checking algorithm presence... yes
checking for algorithm... yes
checking algo.h usability... yes
checking algo.h presence... yes
checking for algo.h... yes
checking algo usability... no
checking algo presence... no
checking for algo... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating bonnie.h
config.status: creating port.h
config.status: creating bonnie++.spec
config.status: creating bon_csv2html
config.status: creating bon_csv2txt
config.status: creating sun/pkginfo
config.status: creating conf.h
config.status: conf.h is unchanged
컴 파일 이 완료 되면 보 니 + + 가 생 성 됩 니 다. 테스트 에 사용 할 수 있 습 니 다.
2. 다음은 테스트 결과 입 니 다.
a. T3 대 파일 읽 기와 쓰기 테스트
# ./bonnie++ -d /data1 -u root -s 4096 -m billing
Using uid:0, gid:1.
Writing with putc()...done
Writing intelligently...done
Rewriting...done
Reading with getc()...done
Reading intelligently...done
start 'em...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
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
billing 4G 9915 87 30319 56 11685 38 9999 99 47326 66 177.6 3
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 639 19 +++++ +++ 1258 22 679 16 +++++ +++ 1197 27
billing,4G,9915,87,30319,56,11685,38,9999,99,47326,66,177.6,3,16,639,19,+++++,+++,1258,22,679,16,+++++,+++,1197,27
b. EMC CLARiiON CX 500 테스트 데이터
이것 은 내 가 Cache 를 쓴 후의 테스트 데 이 터 를 사용 하지 않 는 것 이다.
4 개의 디스크 의 Raid 1 + 0 테스트:
# ./bonnie++ -d /eygle -u root -s 4096 -m jump
Using uid:0, gid:1.
File size should be double RAM for good results, RAM is 4096M.
# ./bonnie++ -d /eygle -u root -s 8192 -m jump
Using uid:0, gid:1.
Writing with putc()...done
Writing intelligently...done
Rewriting...done
Reading with getc()...done
Reading intelligently...done
start 'em...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
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
jump 8G 12647 36 13414 8 7952 13 33636 97 146503 71 465.7 5
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 86 1 +++++ +++ 161 1 81 1 +++++ +++ 163 1
jump,8G,12647,36,13414,8,7952,13,33636,97,146503,71,465.7,5,16,86,1,+++++,+++,161,1,81,1,+++++,+++,163,1
4 개의 디스크 의 Raid 5, Cache 를 쓴 후의 속 도 를 사용 하지 않 습 니 다:
# ./bonnie++ -d /eygle -u root -s 8192 -m jump
Using uid:0, gid:1.
Writing with putc()...done
Writing intelligently...done
Rewriting...done
Reading with getc()...done
Reading intelligently...done
start 'em...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
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
jump 8G 10956 30 10771 6 3388 5 34169 98 158861 75 431.1 5
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 81 1 +++++ +++ 160 1 82 1 +++++ +++ 109 1
jump,8G,10956,30,10771,6,3388,5,34169,98,158861,75,431.1,5,16,81,1,+++++,+++,160,1,82,1,+++++,+++,109,1
이 두 가지 결 과 를 비교 해 보면 우 리 는 (단위 K / sec):
문자 쓰기
쓰기 차단
문자 읽 기
읽 기 차단
Raid10
12,647
13,414
33,636
146,503
Raid5
10,956
10,771
34,169
158,861
Diff
1,691
2,643
-533
-12,358
우 리 는 직접 읽 고 쓰기 에 Raid 10 을 쓰 면 Raid 5 보다 약간 빠르다 는 것 을 보 았 다.읽 기 에 있어 서 Raid 5 는 Raid 10 보다 약간 빠 를 것 입 니 다. 이것 은 우리 의 일반적인 관점 에 부합 합 니 다.
여기 서 언급 해 야 할 것 은 보통 RedoLog file 을 Raid 10 디스크 에 저장 하 는 것 을 권장 합 니 다. 쓰기 장점 이 있 기 때 문 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.