-ベンチマーク・テスト-

   
 UNIXBENCH

 このFreeBSD4.8で動いているサーバにも、「UNIX BENCH」と言う ベンチマーク・テストのためのソフトを
 インストールしようと思います。
 /usr/src に unixbench-4.0.1.tgz をDLしようと思うのですが・・・
 wget じゃだめなのねん( ̄∇ ̄) 

 どうすりゃ良いのさ・・・
 検索!検索!( ..)φメモメモ


sub2# cd /usr/src
sub2# wget http://www.tux.org/pub/tux/benchmarks/System/unixbench/unixbench-4.0.1.tgz
wget: Command not found.
 
 おい!こらぁ(ーー;)凸 そんなコマンドないぞぉ!!と怒られました。


 fetch コマンドを使えば良いのねん。
 ちなみに マニュアル見てみました。


------------------------------------------------------------------------------
FETCH(1) FreeBSD General Commands Manual FETCH(1)

NAME
fetch - retrieve a file by Uniform Resource Locator

SYNOPSIS
fetch [-146AFMPRUadlmnpqrsv] [-B bytes] [-S bytes] [-T seconds] [-o file]
[-w seconds] [-h host] [-c dir] [-f file] [URL ...]

DESCRIPTION
The fetch utility provides a command-line interface to the fetch(3)
library. Its purpose is to retrieve the file(s) pointed to by the URL(s)
on the command line.

The following options are available:

-1 Stop and return exit code 0 at the first successfully
retrieved file.

-4 Forces fetch to use IPv4 addresses only.

-6 Forces fetch to use IPv6 addresses only.

-A Do not automatically follow ``temporary'' (302) redirects.
Some broken Web sites will return a redirect instead of a
not-found error when the requested object does not exist.

-a Automatically retry the transfer upon soft failures.

-B bytes Specify the read buffer size in bytes. The default is 4096
bytes. Attempts to set a buffer size lower than this will be
silently ignored. The number of reads actually performed is
reported at verbosity level two or higher (see the -v flag).

-c dir The file to retrieve is in directory dir on the remote host.
This option is deprecated and is provided for backward com-
patibility only.

-d Use a direct connection even if a proxy is configured.

-F In combination with the -r flag, forces a restart even if the
local and remote files have different modification times.

-f file The file to retrieve is named file on the remote host. This
option is deprecated and is provided for backward compatibil-
ity only.

-h host The file to retrieve is located on the host host. This
option is deprecated and is provided for backward compatibil-
ity only.

-l If the target is a file-scheme URL, make a symbolic link to
the target rather than trying to copy it.

-M

-m Mirror mode: if the file already exists locally and has the
same size and modification time as the remote file, it will
not be fetched. Note that the -m and -r flags are mutually
exclusive.

-n Don't preserve the modification time of the transferred file.

-o file Set the output file name to file. By default, a ``pathname''
is extracted from the specified URI, and its basename is used
as the name of the output file. A file argument of `-' indi-
cates that results are to be directed to the standard output.

-P

-p Use passive FTP. This is useful if you are behind a firewall
which blocks incoming connections. Try this flag if fetch
seems to hang when retrieving FTP URLs.

-q Quiet mode.

-R The output files are precious, and should not be deleted
under any circumstances, even if the transfer failed or was
incomplete.

-r Restart a previously interrupted transfer. Note that the -m
and -r flags are mutually exclusive.

-S bytes Require the file size reported by the server to match the
specified value. If it does not, a message is printed and
the file is not fetched. If the server does not support
reporting file sizes, this option is ignored and the file is
fetched unconditionally.

-s Print the size in bytes of each requested file, without
fetching it.

-T seconds Set timeout value to seconds. Overrides the environment
variables FTP_TIMEOUT for FTP transfers or HTTP_TIMEOUT for
HTTP transfers if set.

-U When using passive FTP, allocate the port for the data con-
nection from the low (default) port range. See ip(4) for
details on how to specify which port range this corresponds
to.

-v Increase verbosity level.

-w seconds When the -a flag is specified, wait this many seconds between
successive retries.

If fetch receives a SIGINFO signal (see the status argument for stty(1)),
the current transfer rate statistics will be written to the standard
error output, in the same format as the standard completion message.

DIAGNOSTICS
The fetch command returns zero on success, or one on failure. If multi-
ple URLs are listed on the command line, fetch will attempt to retrieve
them each of them in turn, and return zero only if they were all success-
fully retrieved.

ENVIRONMENT
FTP_TIMEOUT maximum time, in seconds, to wait before aborting an FTP
connection.

HTTP_TIMEOUT maximum time, in seconds, to wait before aborting an HTTP
connection.

All environment variables mentioned in the documentation for the fetch(3)
library are supported.

SEE ALSO
fetch(3)

HISTORY
The fetch command appeared in FreeBSD 2.1.5. This implementation first
appeared in FreeBSD 4.1.

AUTHORS
The original implementation of fetch was done by Jean-Marc Zucconi. It
was extensively re-worked for FreeBSD 2.2 by Garrett Wollman, and later
completely rewritten to use the fetch(3) library by Dag-Erling Smorgrav.

NOTES
The -b and -t options are no longer supported and will generate warnings.
They were workarounds for bugs in other OSes which this implementation
does not trigger.

One cannot both use the -h, -c and -f options and specify URLs on the
command line.
FreeBSD 4.8 June 28, 2000 FreeBSD 4.8

-----------------------------------------------------------------------------------

 

 それでは・・・やってみます( ̄ー ̄)

sub2# fetch http://www.tux.org/pub/tux/benchmarks/System/unixbench/unixbench-4.0.1.tgz
Receiving unixbench-4.0.1.tgz (48170 bytes): 100%
48170 bytes transferred in 2.9 seconds (16.07 kBps)

 取り敢えず DL成功(*^^)v

sub2# tar zxvf unixbench-4.0.1.tgz
unixbench-4.0.1/
unixbench-4.0.1/old-doc/
unixbench-4.0.1/old-doc/bench3.doc
unixbench-4.0.1/old-doc/bench.doc
unixbench-4.0.1/README
unixbench-4.0.1/Run
unixbench-4.0.1/pgms/
unixbench-4.0.1/pgms/byte.logo
unixbench-4.0.1/pgms/cleanup.sh
unixbench-4.0.1/pgms/index.awk
unixbench-4.0.1/pgms/index.base
unixbench-4.0.1/pgms/index.sh
unixbench-4.0.1/pgms/loopm.awk
unixbench-4.0.1/pgms/loops.awk
unixbench-4.0.1/pgms/multi.sh
unixbench-4.0.1/pgms/report.awk
unixbench-4.0.1/pgms/report.sh
unixbench-4.0.1/pgms/tst.sh
unixbench-4.0.1/pgms/unixbench.logo
unixbench-4.0.1/pgms/fs.awk
unixbench-4.0.1/results/
unixbench-4.0.1/src/
unixbench-4.0.1/src/arith.c
unixbench-4.0.1/src/context1.c
unixbench-4.0.1/src/execl.c
unixbench-4.0.1/src/getopt.c
unixbench-4.0.1/src/hanoi.c
unixbench-4.0.1/src/limit.c
unixbench-4.0.1/src/looper.c
unixbench-4.0.1/src/pipe.c
unixbench-4.0.1/src/spawn.c
unixbench-4.0.1/src/syscall.c
unixbench-4.0.1/src/timeit.c
unixbench-4.0.1/src/dhry_2.c
unixbench-4.0.1/src/dummy.c
unixbench-4.0.1/src/fstime.c
unixbench-4.0.1/src/big.c
unixbench-4.0.1/src/dhry_1.c
unixbench-4.0.1/src/dhry.h
unixbench-4.0.1/testdir/
unixbench-4.0.1/testdir/dc.dat
unixbench-4.0.1/testdir/cctest.c
unixbench-4.0.1/testdir/sort.src
unixbench-4.0.1/tmp/
unixbench-4.0.1/Makefile


sub2# cd unixbench-4.0.1
sub2# make
Checking distribution of files
./pgms exists
./src exists
./testdir exists
./old-doc exists
./tmp exists
./results exists
gcc -o ./pgms/arithoh -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 -Da
rithoh ./src/arith.c
gcc -o ./pgms/register -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 -D
datum=register ./src/arith.c
gcc -o ./pgms/short -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 -Ddat
um=short ./src/arith.c
gcc -o ./pgms/int -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 -Ddatum
=int ./src/arith.c
gcc -o ./pgms/long -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 -Ddatu
m=long ./src/arith.c
gcc -o ./pgms/float -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 -Ddat
um=float ./src/arith.c
gcc -o ./pgms/double -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 -Dda
tum=double ./src/arith.c
gcc -o ./pgms/hanoi -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 ./src
/hanoi.c
gcc -o ./pgms/syscall -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 ./s
rc/syscall.c
gcc -o ./pgms/context1 -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 ./
src/context1.c
gcc -o ./pgms/pipe -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 ./src/
pipe.c
gcc -o ./pgms/spawn -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 ./src
/spawn.c
gcc -o ./pgms/execl -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 ./src
/execl.c
In file included from ./src/execl.c:30:
src/big.c: In function `dummy':
src/big.c:268: warning: passing arg 2 of `signal' from incompatible pointer type
src/big.c:269: warning: passing arg 2 of `signal' from incompatible pointer type
src/big.c:350: warning: passing arg 2 of `signal' from incompatible pointer type
src/big.c: In function `onalarm':
src/big.c:389: warning: passing arg 2 of `signal' from incompatible pointer type
src/big.c: In function `getwork':
src/big.c:439: warning: passing arg 2 of `fprintf' from incompatible pointer type
/tmp/ccv8QHzg.o: In function `getwork':
/tmp/ccv8QHzg.o(.text+0xe8c): warning: this program uses gets(), which is unsafe.
cd ./src; gcc -c -DTIME -DHZ= -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 dh
ry_1.c
cd ./src; gcc -c -DTIME -DHZ= -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 dh
ry_2.c
gcc -o ./pgms/dhry2 -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 ./src
/dhry_1.o ./src/dhry_2.o
cd ./src; rm -f dhry_1.o dhry_2.o
cd ./src; gcc -c -DTIME -DREG=register -DHZ= -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffas
t-math -m486 dhry_1.c
cd ./src; gcc -c -DTIME -DREG=register -DHZ= -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffas
t-math -m486 dhry_2.c
gcc -o ./pgms/dhry2reg -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 ./
src/dhry_1.o ./src/dhry_2.o
cd ./src; rm -f dhry_1.o dhry_2.o
gcc -o ./pgms/looper -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 ./sr
c/looper.c
gcc -o ./pgms/fstime -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 -Daw
k=1 ./src/fstime.c
gcc -o ./pgms/fsbuffer -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 -D
awk=1 -DFSBUFFER ./src/fstime.c
gcc -o ./pgms/fsdisk -DTIME -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486 -Daw
k=1 -DFSDISK ./src/fstime.c


sub2# ./Run
make all
Checking distribution of files
./pgms exists
./src exists
./testdir exists
./old-doc exists
./tmp exists
./results exists

# # # # # # # ##### ###### # # #### # #
# # ## # # # # # # # ## # # # # #
# # # # # # ## ##### ##### # # # # ######
# # # # # # ## # # # # # # # # #
# # # ## # # # # # # # ## # # # #
#### # # # # # ##### ###### # # #### # #

4 000 Based on the Byte Magazine Unix Benchmark
44 00 0
v v 4 4 0 0 0
v v 44444 0 00 v4.0 revisions mostly by David C. Niemi,
v 4 o 000 Reston, VA, USA David.Niemi@mail.li.org



Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10

Arithmetic Test (type = double) 1 2 3 4 5 6 7 8 9 10

System Call Overhead 1 2 3 4 5 6 7 8 9 10

Pipe Throughput 1 2 3 4 5 6 7 8 9 10

Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10

Process Creation 1 2 3

Execl Throughput 1 2 3

Filesystem Throughput 1024 bufsize 2000 maxblocks 1 2 3

Filesystem Throughput 256 bufsize 500 maxblocks 1 2 3

Filesystem Throughput 4096 bufsize 8000 maxblocks 1 2 3

Shell Scripts (1 concurrent) 1 2 3
Shell Scripts (8 concurrent) 1 2 3
Shell Scripts (16 concurrent) 1 2 3

Arithmetic Test (type = short) 1 2 3

Arithmetic Test (type = int) 1 2 3

Arithmetic Test (type = long) 1 2 3

Arithmetic Test (type = float) 1 2 3

Arithoh 1 2 3

C Compiler Throughput 1 2 3

Dc: sqrt(2) to 99 decimal places 1 2 3

Recursion Test--Tower of Hanoi 1 2 3

==============================================================

BYTE UNIX Benchmarks (Version 4.0.1)
System -- sub2.yumidon
Start Benchmark Run: Wed Oct 22 20:02:54 JST 2003
2 interactive users.
8:02PM up 46 mins, 2 users, load averages: 0.10, 0.03, 0.01
-r-xr-xr-x 1 root wheel 460216 Apr 3 2003 /bin/sh
/bin/sh: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 4.8, statically
linked, stripped
/dev/ad0s1f 5040174 749096 3887866 16% /usr
Dhrystone 2 using register variables 1805358.8 lps (10 secs, 10 samples)
Arithmetic Test (type = double) 251708.6 lps (10 secs, 10 samples)
System Call Overhead 295347.2 lps (10 secs, 10 samples)
Pipe Throughput 347164.6 lps (10 secs, 10 samples)
Pipe-based Context Switching 78210.8 lps (10 secs, 10 samples)
Process Creation 1842.3 lps (30 secs, 3 samples)
Execl Throughput 478.1 lps (29 secs, 3 samples)
File Read 1024 bufsize 2000 maxblocks 157559.0 KBps (30 secs, 3 samples)
File Write 1024 bufsize 2000 maxblocks 21466.0 KBps (30 secs, 3 samples)
File Copy 1024 bufsize 2000 maxblocks 21496.0 KBps (30 secs, 3 samples)
File Read 256 bufsize 500 maxblocks 54806.0 KBps (30 secs, 3 samples)
File Write 256 bufsize 500 maxblocks 21333.0 KBps (30 secs, 3 samples)
File Copy 256 bufsize 500 maxblocks 19847.0 KBps (30 secs, 3 samples)
File Read 4096 bufsize 8000 maxblocks 287276.0 KBps (30 secs, 3 samples)
File Write 4096 bufsize 8000 maxblocks 22222.0 KBps (30 secs, 3 samples)
File Copy 4096 bufsize 8000 maxblocks 22255.0 KBps (30 secs, 3 samples)
Shell Scripts (1 concurrent) 1360.3 lpm (60 secs, 3 samples)
Shell Scripts (8 concurrent) 175.0 lpm (60 secs, 3 samples)
Shell Scripts (16 concurrent) 87.0 lpm (60 secs, 3 samples)
Arithmetic Test (type = short) 202551.1 lps (10 secs, 3 samples)
Arithmetic Test (type = int) 212822.2 lps (10 secs, 3 samples)
Arithmetic Test (type = long) 212822.8 lps (10 secs, 3 samples)
Arithmetic Test (type = float) 251731.6 lps (10 secs, 3 samples)
Arithoh 3677849.8 lps (10 secs, 3 samples)
C Compiler Throughput 881.3 lpm (60 secs, 3 samples)
Dc: sqrt(2) to 99 decimal places 16332.6 lpm (30 secs, 3 samples)
Recursion Test--Tower of Hanoi 19602.2 lps (20 secs, 3 samples)

 ↓これが テスト結果です。

INDEX VALUES

TEST BASELINE RESULT INDEX
Arithmetic Test (type = double) 29820.0 251708.6 84.4
Dhrystone 2 using register variables 116700.0 1805358.8 154.7
Execl Throughput 43.0 478.1 111.2
File Copy 1024 bufsize 2000 maxblocks 3960.0 21496.0 54.3
File Copy 256 bufsize 500 maxblocks 1655.0 19847.0 119.9
File Copy 4096 bufsize 8000 maxblocks 5800.0 22255.0 38.4
Pipe Throughput 12440.0 347164.6 279.1
Pipe-based Context Switching 4000.0 78210.8 195.5
Process Creation 126.0 1842.3 146.2
Shell Scripts (8 concurrent) 6.0 175.0 291.7
System Call Overhead 15000.0 295347.2 196.9

=========
FINAL SCORE