安装iozone on CentOS 7 x64

iozone是一个非常专业的文件系统性能测试开源软件,用法和介绍可以参考如下:

http://www.iozone.org/

http://www.iozone.org/docs/IOzone_msword_98.pdf

使用源码安装,步骤如下:

下载最新的稳定版源码:
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。比较一下两者的性能。

时间: 2025-01-02 15:35:18

安装iozone on CentOS 7 x64的相关文章

CentOS 7 x64下Apache+MySQL(Mariadb)+PHP56的安装教程详解_Linux

每次搭建新服务器,都要来来回回把这些包再装一下,来来回回搞了不下20遍了吧,原来都是凭经验,配置过程中重复入坑是难免的,故写此文做个备忘.虽然有像xampp这样的集成包,但是在生产环境的Linux发行版上,还是通过包管理工具安装会放心.这次新买的服务器是CentOS 7(7.2)系统,相关配置也都以此版本为主,为方便操作,直接使用root用户配置. CentOS 7的源比较旧,自带的PHP是PHP 5.4,我们想要的是PHP 5.6,这就需要执行以下命令添加额外的remi源. rpm -ivh

ceph install in CentOS 7 x64 within docker - 1

本文使用docker来部署ceph, 基于CentOS 7 x64. 首先要安装docker, CentOS 7源已经包含了docker, 所以可以直接使用yum安装. # yum install -y docker 配置docker 运行时的root目录(-g 参数). [root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert lv01 vgdata01 -wi-ao---- 409

VMware环境安装64位CentOS系统无法全虚拟化的解决方法

VMware Workstation是一款桌面虚拟计算机软件,允许多个操作系统在一台虚拟机内部运行,可是当VMware Workstation在安装64位CentOS系统的时候遇到了不支持全虚拟化的问题,该如何解决呢? 一.前提: cpu支持Inter VT-X或AMD虚拟化技术,具体参考官网说明. 二.问题描述: 物理机下,VMware Workstation能安装64位CentOS系统,处理器Inter i3 M390,且支持Inter VT-X虚拟化技术,物理机BIOS中已打开Inter虚

安装 Windows 10 + Centos 7 双系统共存

第一步 准备工作 分区 给CentOS 系统单独创建一个分区,具体看空闲硬盘的大小决定. 右键桌面上 [我的电脑] 或者 [此电脑] 图标,选择 [管理] → [计算机管理] → [存储] - [磁盘管理] 选择一个空闲空间较大的分区,右键选择 [压缩卷(H)...] 在弹出的对话框中输入需要分配给 CentOS 系统的空间大小,以 MB 为单位 输入完毕后,点击对话框右下角的 [压缩] 按钮执行压缩即可 注意:压缩出的新分区,不要执行 [新建简单卷],否则稍后 CentOS 不识别,到此步即可

Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面

Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面 提问: 我想在VPS中安装CentOS桌面,并可以直接从我家远程访问GUI桌面.在VPS上设置和访问CentOS远程桌面有什么建议吗? 如何远程办公或者远程弹性化工作制在技术领域正变得越来越流行.这个趋势背后的一个技术就是远程桌面.你的桌面环境在云中,你可以在任何你去的地方,或者在家或者工作场所访问你的远程桌面. 这个教程介绍如何VPS中设置基于CentOS的远程桌面.现在,我们会先展示CentOS的基础环境. 我们假设你已经

CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法

有的朋友由于是centos的,直接 yum install pip  或者 yum install python-pip都是不行的. 其实不能yum那就直接下载编译安装呗... CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法如下: 截至包子写本文的时候,pip最新为 1.5.5 wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz 注意:wget获取http

在win10下永远安装不了centos 7

问题描述 在win10下永远安装不了centos 7 以前先装了win10,然后装centos7永远没有成功过,然后退到win7安装就碰巧成功了一次.现在win10 U盘再次安装,各种方法都试过了就是安装不了,硬盘启动安装,powerISO安装过都没成功,这难道是win10的锅嘛 解决方案 win7下安装CentOS7CentOS 6.3 - Win7 安装VNC-VNCviewer

ceph install in CentOS 7 x64 within docker - 2

接着上一篇 http://blog.163.com/digoal@126/blog/static/163877040201410269169450/ 接下来要准备deploy节点和node的环境. 一. 部署ceph-deploy节点 :  [root@localhost ~]# ssh 172.17.0.1 root@172.17.0.1's password: Last login: Thu Nov 27 15:05:54 2014 from 172.17.42.1 [root@65a056

ceph install in CentOS 7 x64 within docker - 3

部署ceph cluster的第一步是部署monitor节点, 本例我们使用3台monitor. 并且monitor之间使用cephx认证. INSTALL CEPH STORAGE CLUSTER 1. 安装yum-plugin-priorities  (所有节点) [root@deploy yum.repos.d]# su - ceph [ceph@deploy ~]$ ssh 172.17.0.1 sudo yum install -y yum-plugin-priorities [cep