리눅스 엔지니어였던 2008. 9. 15. 18:25

커널을 컴파일 했거나... 여러 패키지들을 rebuild했거나... 아니면 새로운 리눅스를 깔았거나... 새로운 하드웨어를 장착했을 때, 가장 궁금한 것은 과연 이렇게 변경된 설정들이 얼마나 시스템 성능을 향상시켰는가 하는 것이 아닐까 합니다. 그래서 많은 사람들이 벤치마크(일명 숫자놀음^^)에 열광하거나 심취하는데요...

이번에는 리눅스에서 사용할 수 있는 간단한 공개소프트웨어 벤치마크 프로그램인 unixbench를 소개할까 합니다.


 
Download 및 설치

http://www.tux.org/pub/tux/benchmarks/System/unixbench/unixbench-4.1.0.tgz

위의 링크를 눌러 unixbench를 받습니다. 위 버전이 가장 최신의(?) 버전입니다.
적당한 디렉토리에 해당 파일을 위치시키고 나서...

# tar zxvf unixbench-4.1.0.tgz
라는 명령으로 압축을 해제합니다. 그러면 해당 디렉토리에 하부 디렉토리로 unixbench-4.1.0이라는 디렉토리가 생겼을 텐데요, 여기로 들어갑니다.

# cd unixbench-4.1.0
# make

그리고 간단히 make 라는 명령어를 실행하면 unixbench를 실행할 준비는 모두 끝났습니다.


unixbench 실행

unixbench를 실행하는 방법은... 해당 디렉터리 경로에서 그냥 ....

# ./Run

이라는 명령어로 unixbench를 실행할 수 있습니다.

이제 한참을 기다리셔야 합니다. benchmark 프로그램의 특성상 다른 프로그램의 실행은 결과값에 영향을 줄 수 있으니 정확한 비교값을 얻기 위해서는 그냥 다른 일을 하고 계시는 것이 좋습니다.^^

한참을 기다리시다 보면 결과가 나올 것입니다. 이러한 결과값들을 저장해두셨다가 설정을 변경하거나 커널 컴파일(혹은 업그레이드)하시고 다시 unixbench를 돌려가며 자신이 변경한 설정들이 시스템 성능을 얼마나 향상시켰는지 비교해보시는 것도 리눅스의 재미를 느끼는 한 방법일 것입니다. 물론 시스템 퍼포먼스를 높이는 튜닝작업의 참고자료로 쓰셔도 되고요.


아래는 실제로 시스템에서 가동시켜본 결과입니다. (샘플로 참조하세요.)

  BYTE UNIX Benchmarks (Version 4.1.0)
  System -- Linux korea 2.6.10 #3 Wed Feb 23 16:26:42 KST 2005 i686 i686 i386 GNU/Linux
  Start Benchmark Run: 2005. 02. 23. (수) 16:36:39 KST
   1 interactive users.
   16:36:39 up 1 min,  1 user,  load average: 0.83, 0.27, 0.09
  lrwxrwxrwx  1 root root 4  1월 13 15:26 /bin/sh -> bash
  /bin/sh: symbolic link to `bash`
  /dev/hda2             27361764   6122948  19848912  24% /
Dhrystone 2 using register variables     2365293.0 lps   (10.0 secs, 10 samples)
Double-Precision Whetstone                  801.0 MWIPS (10.4 secs, 10 samples)
System Call Overhead                     383775.0 lps   (10.0 secs, 10 samples)
Pipe Throughput                          499598.7 lps   (10.0 secs, 10 samples)
Pipe-based Context Switching             146297.3 lps   (10.0 secs, 10 samples)
Process Creation                          14417.8 lps   (30.0 secs, 3 samples)
Execl Throughput                           2550.9 lps   (29.7 secs, 3 samples)
File Read 1024 bufsize 2000 maxblocks    594126.0 KBps  (30.0 secs, 3 samples)
File Write 1024 bufsize 2000 maxblocks   333586.0 KBps  (30.0 secs, 3 samples)
File Copy 1024 bufsize 2000 maxblocks    201583.0 KBps  (30.0 secs, 3 samples)
File Read 256 bufsize 500 maxblocks      222903.0 KBps  (30.0 secs, 3 samples)
File Write 256 bufsize 500 maxblocks     144477.0 KBps  (30.0 secs, 3 samples)
File Copy 256 bufsize 500 maxblocks       83670.0 KBps  (30.0 secs, 3 samples)
File Read 4096 bufsize 8000 maxblocks    1013575.0 KBps  (30.0 secs, 3 samples)
File Write 4096 bufsize 8000 maxblocks   369155.0 KBps  (30.0 secs, 3 samples)
File Copy 4096 bufsize 8000 maxblocks    270330.0 KBps  (30.0 secs, 3 samples)
Shell Scripts (1 concurrent)               1852.9 lpm   (60.0 secs, 3 samples)
Shell Scripts (8 concurrent)                252.7 lpm   (60.0 secs, 3 samples)
Shell Scripts (16 concurrent)               127.0 lpm   (60.0 secs, 3 samples)
Arithmetic Test (type = short)           561099.5 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = int)             554924.2 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = long)            554735.5 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = float)           527133.5 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = double)          527167.4 lps   (10.0 secs, 3 samples)
Arithoh                                  13015581.5 lps   (10.0 secs, 3 samples)
C Compiler Throughput                       652.7 lpm   (60.0 secs, 3 samples)
Dc: sqrt(2) to 99 decimal places          91338.1 lpm   (30.0 secs, 3 samples)
Recursion Test--Tower of Hanoi            86283.3 lps   (20.0 secs, 3 samples)


                     INDEX VALUES            
TEST                                        BASELINE     RESULT      INDEX

Dhrystone 2 using register variables        116700.0  2365293.0      202.7
Double-Precision Whetstone                      55.0      801.0      145.6
Execl Throughput                                43.0     2550.9      593.2
File Copy 1024 bufsize 2000 maxblocks         3960.0   201583.0      509.0
File Copy 256 bufsize 500 maxblocks           1655.0    83670.0      505.6
File Copy 4096 bufsize 8000 maxblocks         5800.0   270330.0      466.1
Pipe Throughput                              12440.0   499598.7      401.6
Pipe-based Context Switching                  4000.0   146297.3      365.7
Process Creation                               126.0    14417.8     1144.3
Shell Scripts (8 concurrent)                     6.0      252.7      421.2
System Call Overhead                         15000.0   383775.0      255.8
                                                                 =========
     FINAL SCORE                                                     396.5



<출처: http://open.asianux.co.kr/openproject/mapping.php?bbsId=TIPNTECH&action=View&doc_number=38&pageNo=4 >