安装iozone on CentOS 7 x64

本文介绍了iozone的安装步骤及使用方法。iozone是一款开源的文件系统性能测试工具,支持多种操作系统。文中详细记录了从源码安装iozone的过程,并展示了如何通过命令行参数配置不同的测试场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iozone是一个非常专业的文件系统性能测试开源软件,用法和介绍可以参考如下:
使用源码安装,步骤如下:
下载最新的稳定版源码:
http://www.iozone.org/src/current/
wget http://www.iozone.org/src/current/iozone-3-434.src.rpm
rpm -ivh iozone-3-434.src.rpm 
cd ~/rpmbuild/SOURCES
[root@digoal SOURCES]# ll
total 1800
-rw-r--r--. 1 root root 1843200 Oct 20 10:26 iozone3_434.tar

或者直接从这里下载:
wget http://www.iozone.org/src/current/iozone3_434.tar

从源码安装:
[root@digoal SOURCES]# tar -xvf iozone3_434.tar
[root@digoal SOURCES]# cd iozone3_434
[root@digoal iozone3_434]# ll
total 4
drwxr-xr-x. 2 root root 4096 Nov 29 23:40 docs
drwxr-xr-x. 3 root root   20 Nov 29 23:40 src
[root@digoal iozone3_434]# cd docs/
[root@digoal docs]# pwd
/root/rpmbuild/SOURCES/iozone3_434/docs
[root@digoal docs]# ll
total 796
-r--r--r--. 1 500 500  17466 Oct 20 10:12 iozone.1
-rwxr--r--. 1 500 500 212992 Oct 20 10:12 IOzone_msword_98.doc
-rw-rw-r--. 1 500 500 283865 Oct 20 10:12 IOzone_msword_98.pdf
-rw-rw-r--. 1 500 500 262680 Oct 20 10:12 Iozone_ps.gz
-rw-r--r--. 1 500 500  26624 Oct 20 10:12 Run_rules.doc

帮助文档
[root@digoal docs]# man ./iozone.1 

安装
[root@digoal docs]# cd ../src/
[root@digoal src]# ll
total 4
drwxr-xr-x. 2 root root 4096 Nov 29 23:41 current
[root@digoal src]# cd current/

makefile中已经指明,安装到linux 64位的机器中的方法
[root@digoal current]# less makefile 
#
# GNU 'C' compiler Linux build with threads, largefiles, async I/O 
#
linux-AMD64:    iozone_linux-AMD64.o  libbif.o libasync.o fileop_linux-AMD64.o pit_server.o
        $(CC)  -O3 $(LDFLAGS) iozone_linux-AMD64.o libbif.o libasync.o \
                -lrt -lpthread -o iozone
        $(CC)  -O3 -Dlinux fileop_linux-AMD64.o -o fileop
        $(CC)  -O3 -Dlinux pit_server.o -o pit_server

[root@digoal current]# make linux-AMD64
[root@digoal current]# ll -rt
-rwxr-xr-x. 1 root root 355579 Nov 29 23:41 iozone
-rwxr-xr-x. 1 root root  44406 Nov 29 23:41 fileop
-rwxr-xr-x. 1 root root  18705 Nov 29 23:41 pit_server

[root@digoal current]# ./fileop -h

     --------------------------------------
     |              Fileop                | 
     |         $Revision: 1.61 $          | 
     |                                    | 
     |                by                  |
     |                                    | 
     |             Don Capps              |
     --------------------------------------

     fileop [-f X ]|[-l # -u #] [-s Y] [-e] [-b] [-w] [-d <dir>] [-t] [-v] [-h]

     -f #      Force factor. X^3 files will be created and removed.
     -l #      Lower limit on the value of the Force factor.
     -u #      Upper limit on the value of the Force factor.
     -s #      Optional. Sets filesize for the create/write. May use suffix 'K' or 'M'.
     -e        Excel importable format.
     -b        Output best case results.
     -i #      Increment force factor by this increment.
     -w        Output worst case results.
     -d <dir>  Specify starting directory.
     -U <dir>  Mount point to remount between tests.
     -t        Verbose output option.
     -v        Version information.
     -h        Help text.

     The structure of the file tree is:
     X number of Level 1 directories, with X number of
     level 2 directories, with X number of files in each
     of the level 2 directories.

     Example:  fileop 2

             dir_1                        dir_2
            /     \                      /     \ 
      sdir_1       sdir_2          sdir_1       sdir_2
      /     \     /     \          /     \      /     \ 
   file_1 file_2 file_1 file_2   file_1 file_2 file_1 file_2

   Each file will be created, and then Y bytes is written to the file.


[root@digoal current]# ./pit_server -h
Usage: pit_server [-v] -p service 

[root@digoal current]# ./iozone -h
iozone: help mode

    Usage: iozone [-s filesize_kB] [-r record_size_kB] [-f [path]filename] [-h]
                  [-i test] [-E] [-p] [-a] [-A] [-z] [-Z] [-m] [-M] [-t children]
                  [-l min_number_procs] [-u max_number_procs] [-v] [-R] [-x] [-o]
                  [-d microseconds] [-F path1 path2...] [-V pattern] [-j stride]
                  [-T] [-C] [-B] [-D] [-G] [-I] [-H depth] [-k depth] [-U mount_point]
                  [-S cache_size] [-O] [-L cacheline_size] [-K] [-g maxfilesize_kB]
                  [-n minfilesize_kB] [-N] [-Q] [-P start_cpu] [-e] [-c] [-b Excel.xls]
                  [-J milliseconds] [-X write_telemetry_filename] [-w] [-W]
                  [-Y read_telemetry_filename] [-y minrecsize_kB] [-q maxrecsize_kB]
                  [-+u] [-+m cluster_filename] [-+d] [-+x multiplier] [-+p # ]
                  [-+r] [-+t] [-+X] [-+Z] [-+w percent dedupable] [-+y percent_interior_dedup]
                  [-+C percent_dedup_within]
 
           -a  Auto mode
           -A  Auto2 mode
           -b Filename  Create Excel worksheet file
           -B  Use mmap() files
           -c  Include close in the timing calculations
           -C  Show bytes transferred by each child in throughput testing
           -d #  Microsecond delay out of barrier
           -D  Use msync(MS_ASYNC) on mmap files
           -e  Include flush (fsync,fflush) in the timing calculations
           -E  Run extension tests
           -f filename  to use
           -F filenames  for each process/thread in throughput test
           -g #  Set maximum file size (in kBytes) for auto mode (or #m or #g)
           -G  Use msync(MS_SYNC) on mmap files
           -h  help
           -H #  Use POSIX async I/O with # async operations
           -i #  Test to run (0=write/rewrite, 1=read/re-read, 2=random-read/write
                 3=Read-backwards, 4=Re-write-record, 5=stride-read, 6=fwrite/re-fwrite
                 7=fread/Re-fread, 8=random_mix, 9=pwrite/Re-pwrite, 10=pread/Re-pread
                 11=pwritev/Re-pwritev, 12=preadv/Re-preadv)
           -I  Use VxFS VX_DIRECT, O_DIRECT,or O_DIRECTIO for all file operations
           -j #  Set stride of file accesses to (# * record size)
           -J #  milliseconds of compute cycle before each I/O operation
           -k #  Use POSIX async I/O (no bcopy) with # async operations
           -K  Create jitter in the access pattern for readers
           -l #  Lower limit on number of processes to run
           -L #  Set processor cache line size to value (in bytes)
           -m  Use multiple buffers
           -M  Report uname -a output
           -n #  Set minimum file size (in kBytes) for auto mode (or #m or #g)
           -N  Report results in microseconds per operation
           -o  Writes are synch (O_SYNC)
           -O  Give results in ops/sec.
           -p  Purge on
           -P #  Bind processes/threads to processors, starting with this cpu
           -q #  Set maximum record size (in kBytes) for auto mode (or #m or #g)
           -Q  Create offset/latency files
           -r #  record size in Kb
              or -r #k .. size in kB
              or -r #m .. size in MB
              or -r #g .. size in GB
           -R  Generate Excel report
           -s #  file size in Kb
              or -s #k .. size in kB
              or -s #m .. size in MB
              or -s #g .. size in GB
           -S #  Set processor cache size to value (in kBytes)
           -t #  Number of threads or processes to use in throughput test
           -T  Use POSIX pthreads for throughput tests
           -u #  Upper limit on number of processes to run
           -U  Mount point to remount between tests
           -v  version information
           -V #  Verify data pattern write/read
           -w  Do not unlink temporary file
           -W  Lock file when reading or writing
           -x  Turn off stone-walling
           -X filename  Write telemetry file. Contains lines with (offset reclen compute_time) in ascii
           -y #  Set minimum record size (in kBytes) for auto mode (or #m or #g)
           -Y filename  Read  telemetry file. Contains lines with (offset reclen compute_time) in ascii
           -z  Used in conjunction with -a to test all possible record sizes
           -Z  Enable mixing of mmap I/O and file I/O
           -+b #,#  burst size (KB),sleep between burst (mili-second)
           -+E Use existing non-Iozone file for read-only testing
           -+F Truncate file before write in thread_mix_test
           -+J Include think time (-j #) in throughput calculation
           -+K Sony special. Manual control of test 8.
           -+m  Cluster_filename   Enable Cluster testing
           -+d  File I/O diagnostic mode. (To troubleshoot a broken file I/O subsystem)
           -+u  Enable CPU utilization output (Experimental)
           -+x # Multiplier to use for incrementing file and record sizes
           -+p # Percentage of mix to be reads
           -+r Enable O_RSYNC|O_SYNC for all testing.
           -+t Enable network performance test. Requires -+m 
           -+n No retests selected.
           -+k Use constant aggregate data set size.
           -+q Delay in seconds between tests.
           -+l Enable record locking mode.
           -+L Enable record locking mode, with shared file.
           -+B Sequential mixed workload.
           -+D Enable O_DSYNC mode.
           -+A #  Enable madvise. 0 = normal, 1=random, 2=sequential
                                  3=dontneed, 4=willneed
           -+N Do not truncate existing files on sequential writes.
           -+S # Dedup-able data is limited to sharing within each numerically
                 identified file set.
           -+W # Add this value to the child thread ID, so that additional files
                 can be added while maintaining the proper dedupability with previously
                 existing files that are within the same seed group (-+S).
           -+V Enable shared file. No locking.
           -+X Enable short circuit mode for filesystem testing ONLY
               ALL Results are NOT valid in this mode.
           -+Z Enable old data set compatibility mode. WARNING.. Published
               hacks may invalidate these results and generate bogus, high
               values for results.
           -+w ## Percent of dedup-able data in buffers.
           -+y ## Percent of dedup-able within & across files in buffers.
           -+C ## Percent of dedup-able within & not across files in buffers.
           -+H Hostname    Hostname of the PIT server.
           -+P Service     Service  of the PIT server.
           -+z Enable latency histogram logging.

用法就不在这里介绍了,后面会用来测试btrfs和ext4。比较一下两者的性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值