하드웨어 또는 소프트웨어(커널포함)을 벤치마킹하기위하여 여러가지 방법으로 고민한다.
이번엔 unixbench라는 공개 프로그램을 이용하여 시스템 벤치마킹을 알아본다.
관리자가 커널을 바꾸거나 시스템환경을 바꾸면 아래의 방법으로 기존 시스템보다 어느정도의 성능향상이 이루어졌는지 확인이 가능하다.
리눅스 사용자일경우 아래의 사이트에서 다운받고, FreeBSD사용자는 ports/benchmarks/unixbench/에서 make install clean으로 간단하게 설치가능하다.
이제부터 따라해보자..
[다운로드]
# wget http://www.tux.org/pub/tux/benchmarks/System/unixbench/unixbench-4.1.0.tgz[홈]
[설치]
# tar -vxzf unixbench-4.1.0.tgz
# cd unixbench-4.1.0
# make
# ./Run
위의 명령을 실행하면 한 3,40분정도 시간이 걸린다.
이제 딴짓을하자……
아래는 회사서버의 벤치마킹 내용이다.
==============================================================
BYTE UNIX Benchmarks (Version 4.1.0)
System -- Linux ns.mobigen.com 2.4.20-31.9smp #1 SMP Tue Apr 13 17:40:10 EDT 2004 i686 i686 i386 GNU/Linux
Start Benchmark Run: 2005. 04. 12. (화) 19:06:45 KST
4 interactive users.
19:06:45 up 25 days, 5:11, 4 users, load average: 0.11, 0.37, 0.61
lrwxrwxrwx 1 root root 4 6월 5 2004 /bin/sh -> bash
/bin/sh: symbolic link to bash
/dev/hda5 18145092 16335312 888056 95% /home
Dhrystone 2 using register variables 4038087.4 lps (10.0 secs, 10 samples)
Double-Precision Whetstone 769.0 MWIPS (10.5 secs, 10 samples)
System Call Overhead 341319.7 lps (10.0 secs, 10 samples)
Pipe Throughput 410116.4 lps (10.0 secs, 10 samples)
Pipe-based Context Switching 135759.8 lps (10.0 secs, 10 samples)
Process Creation 5385.0 lps (30.0 secs, 3 samples)
Execl Throughput 1454.5 lps (29.2 secs, 3 samples)
File Read 1024 bufsize 2000 maxblocks 551743.0 KBps (30.0 secs, 3 samples)
File Write 1024 bufsize 2000 maxblocks 136957.0 KBps (30.0 secs, 3 samples)
File Copy 1024 bufsize 2000 maxblocks 108826.0 KBps (30.0 secs, 3 samples)
File Read 256 bufsize 500 maxblocks 172045.0 KBps (30.0 secs, 3 samples)
File Write 256 bufsize 500 maxblocks 38894.0 KBps (30.0 secs, 3 samples)
File Copy 256 bufsize 500 maxblocks 30345.0 KBps (30.0 secs, 3 samples)
File Read 4096 bufsize 8000 maxblocks 1134911.0 KBps (30.0 secs, 3 samples)
File Write 4096 bufsize 8000 maxblocks 330104.0 KBps (30.0 secs, 3 samples)
File Copy 4096 bufsize 8000 maxblocks 207177.0 KBps (30.0 secs, 3 samples)
Shell Scripts (1 concurrent) 690.4 lpm (60.0 secs, 3 samples)
Shell Scripts (8 concurrent) 100.2 lpm (60.0 secs, 3 samples)
Shell Scripts (16 concurrent) 46.7 lpm (60.0 secs, 3 samples)
Arithmetic Test (type = short) 633690.7 lps (10.0 secs, 3 samples)
Arithmetic Test (type = int) 613333.3 lps (10.0 secs, 3 samples)
Arithmetic Test (type = long) 578248.8 lps (10.0 secs, 3 samples)
Arithmetic Test (type = float) 546608.8 lps (10.0 secs, 3 samples)
Arithmetic Test (type = double) 547060.3 lps (10.0 secs, 3 samples)
Arithoh 13464877.1 lps (10.0 secs, 3 samples)
C Compiler Throughput 894.9 lpm (60.2 secs, 3 samples)
Dc: sqrt(2) to 99 decimal places 63406.5 lpm (30.0 secs, 3 samples)
Recursion Test--Tower of Hanoi 94369.7 lps (20.0 secs, 3 samples)
INDEX VALUES
TEST BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 4038087.4 346.0
Double-Precision Whetstone 55.0 769.0 139.8
Execl Throughput 43.0 1454.5 338.3
File Copy 1024 bufsize 2000 maxblocks 3960.0 108826.0 274.8
File Copy 256 bufsize 500 maxblocks 1655.0 30345.0 183.4
File Copy 4096 bufsize 8000 maxblocks 5800.0 207177.0 357.2
Pipe Throughput 12440.0 410116.4 329.7
Pipe-based Context Switching 4000.0 135759.8 339.4
Process Creation 126.0 5385.0 427.4
Shell Scripts (8 concurrent) 6.0 100.2 167.0
System Call Overhead 15000.0 341319.7 227.5
=========
FINAL SCORE 269.1
시스템 벤치마킹