- 浏览: 138459 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
carvink:
引用你好
对标记语言的一个非常全的总结 -
xintianweng105:
我也想学习下,能不能把代码分享下。邮箱是:lingw115@1 ...
写了2个dia插件 -
liio:
你好!这2个插件代码我也非常想拿来学习一下。可以共享出来么?谢 ...
写了2个dia插件 -
idning:
今天加了一个选择 颜色的 下拉框.
尝试写了一个thunderbird插件 -
xiangfei209:
lz问下 做团购分类如何获取,比如饮食,美容,美发
团购导航网站:http://i-tuan.appspot.com/
iozone
man iozone
1. 输出格式
-R Generate Excel report. Iozone will generate an Excel compatible report to
standard out. This file may be imported with Microsoft Excel (space delimited)
and used to create a graph of the filesystem performance. Note: The 3D graphs
are column oriented. You will need to select this when graphing as the default
in Excel is row oriented data.
-b filename
Used to specify a filename that will be used for output of an Excel compatible
file that contains the results.
-M Iozone will call uname() and will put the string in the output file.2. 基本参数
-a Used to select full automatic mode. Produces output that covers all tested file
operations for record sizes of 4k to 16M for file sizes of 64k to 512M.
-i # Used to specify which tests 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=mixed workload, 9=pwrite/Re-pwrite, 10=pread/Re-
pread, 11=pwritev/Re-pwritev, 12=preadv/Re-preadv). One will always need to
specify 0 so that any of the following tests will have a file to measure.
-i # -i # -i # is also supported so that one may select more than one test.
-s # Used to specify the size, in Kbytes, of the file to test. One may also specify
-s #k (size in Kbytes) or -s #m (size in Mbytes) or -s #g (size in Gbytes).
-g # Set maximum file size
(in Kbytes) for auto mode. One may also specify -g #k
(size in Kbytes) or -g #m (size in Mbytes) or -g #g (size in Gbytes). See -n
for minimum file size.
-n # Set minimum file size (in Kbytes) for auto mode. One may also specify -n #k
(size in Kbytes) or -n #m (size in Mbytes) or -n #g (size in Gbytes). See -g
for maximum file size.
|
-r # Used to specify the record size
, in Kbytes, to test. One may also specify -r #k
(size in Kbytes) or -r #m (size in Mbytes) or -r #g (size in Gbytes).
-q # Set maximum record size (in Kbytes) for auto mode. One may also specify -q #k
(size in Kbytes) or -q #m (size in Mbytes) or -q #g (size in Gbytes). See -y
for minimum record size.
-y # Set minimum record size (in Kbytes) for auto mode. One may also specify -y #k
(size in Kbytes) or -y #m (size in Mbytes) or -y #g (size in Gbytes). See -q
for maximum record size.
|
-f filename
Used to specify the filename for the temporary file under test. This is useful
when the unmount option is used. When testing with unmount between tests it is
necessary for the temporary file under test to be in a directory that can be
unmounted. It is not possible to unmount the current working directory as the
process Iozone is running in this directory.
-F filename filename filename ?
Specify each of the temporary file names to be used in the throughput
testing.
The number of names should be equal to the number of processes or threads that
are specified.
-w Do not unlink temporary files when finished using them.
3. 文件读写方法(read/write, mmap, aio)
-B Use mmap() files. This causes all of the temporary files being measured to be
created and accessed with the mmap() interface. Some applications prefer to
treat files as arrays of memory. These applications mmap() the file and then
just access the array with loads and stores to perform file I/O.
-H # Use POSIX async I/O with # async operations. Iozone will use POSIX async I/O
with a bcopy
from the async buffers back into the applications buffer. Some
versions of MSC NASTRAN perform I/O this way. This technique is used by appli‐
cations so that the async I/O may be performed in a library and requires no
changes to the applications internal model.
-k # Use POSIX async I/O (no bcopy) with # async operations. Iozone will use POSIX
async I/O and will not perform any extra bcopys
. The buffers used by Iozone
will be handed to the async I/O system call directly.
-Z Enable mixing of mmap I/O and file I/O.4. 文件打开参数 (direct_io, O_SYNC, ....) cache /buffer 相关
-D Use msync(MS_ASYNC) on mmap files. This tells the operating system that all the
data in the mmap space needs to be written to disk asynchronously.
-G Use msync(MS_SYNC) on mmap files. This tells the operating system that all the
data in the mmap space needs to be written to disk synchronously.
-I Use DIRECT IO if possible for all file operations. Tells the filesystem that
all operations to the file are to bypass the buffer cache and go directly to
disk. (not available on all platforms)
-o
Writes are synchronously written to disk. (O_SYNC). Iozone will open the files
with the O_SYNC flag. This forces all writes to the file to go completely to
disk before returning to the benchmark.
-p
This purges the processor cache before each file operation. Iozone will allo‐
cate another internal buffer that is aligned to the same processor cache bound‐
ary and is of a size that matches the processor cache. It will zero fill this
alternate buffer before beginning each test. This will purge the processor
cache and allow one to see the memory subsystem without the acceleration due to
the processor cache. 我觉得这个影响应该蛮小 -Lin Yang 5/20/10 12:45 PM
5. 读写时间计算
-c Include close() in the timing calculations. This is useful only if you suspect
that close() is broken in the operating system currently under test. It can be
useful for NFS Version 3 testing as well to help identify if the nfs3_commit is
working well.
-e
Include flush (fsync,fflush) in the timing calculations
6. throughput模式 (多线程)
-t # Run Iozone in a throughput mode. This option allows the user to specify how
many threads or processes to have active during the measurement.
-l # Set the lower limit on number of processes to run. When running throughput
tests this option allows the user to specify the least number of processes or
threads to start. This option should be used in conjunction with the -u option.
-u # Set the upper limit on number of processes to run. When running throughput
tests this option allows the user to specify the greatest number of processes
or threads to start. This option should be used in conjunction with the -l op‐
tion.
-T Use POSIX pthreads for throughput tests. Available on platforms that have POSIX
threads.
-C Show bytes transferred by each child in throughput
testing. Useful if your op‐
erating system has any starvation problems in file I/O or in process manage‐
ment.
-d # Microsecond delay out of barrier. During the throughput
tests all threads or
processes are forced to a barrier before beginning the test. Normally, all of
the threads or processes are released at the same moment. This option allows
one to delay a specified time in microseconds between releasing each of the
processes or threads.
7. 其他
-h Displays help screen.
-v Display the version of Iozone.
-j # Set stride of file accesses to (# * record size). The stride read test will
read records at this stride. -跨步
-J # Millisecond delay before each I/O operation. This simulates the cpu compute cy‐
cle of an application that precedes an I/O operation. One may also use -X or
-Y to control the compute cycle on a per I/O operation basis.
-K Inject some random accesses in the testing. -L # Set processor cache line size to value (in bytes). Tells Iozone the processor
cache line size. This is used internally to help speed up the test.
-m Tells Iozone to use multiple buffers internally. Some applications read into a
single buffer over and over. Others have an array of buffers. This option al‐
lows both types of applications to be simulated. Iozone´s default behavior is
to re-use internal buffers. This option allows one to override the default and
to use multiple internal buffers.
-N Report results in microseconds per operation.
-O Give results in operations per second. -V # Specify a pattern that is to be written to the temporary file and validated for
accuracy in each of the read tests.
-W Lock file when reading or writing.
-Q Create offset/latency files. Iozone will create latency versus offset data
files that can be imported with a graphics package and plotted. This is useful
for finding if certain offsets have very high latencies. Such as the point
where UFS will allocate its first indirect block. One can see from the data
the impacts of the extent allocations for extent based filesystems with this
option.
文件某个offset的读写latency记录 -Lin Yang 5/20/10 11:39 AM
-X filename
Used to specify a filename that will be used for the write telemetry informa‐
tion. The file contains lines with offset, size, delay_in_milliseconds. Each of
these lines are used to perform an I/O operation. This is used when an appli‐
cation's specific I/O operations are known, and one wishes to benchmark the
system with this specific application file behavior.
-Y filename
Used to specify a filename that will be used for the read telemetry informa‐
tion. The file contains lines with offset, size, delay_in_milliseconds. Each of
these lines are used to perform an I/O operation. This is used when an appli‐
cation's specific I/O operations are known, and one wishes to benchmark the
system with this specific application file behavior.
|
8. 无用
-A This version of automatic mode provides more coverage but consumes a bunch of
time. The -a option will automatically stop using transfer sizes less than 64k
once the file size is 32M or larger. This saves time. The -A option tells Io‐
zone that you are willing to wait and want dense coverage for small transfers
even when the file size is very large. NOTE: This option is
deprecated
in Io‐
zone version 3.61. Use -az -i 0 -i 1 instead.
-E Used to select the extension tests. Only available on some platforms. Uses
pread interfaces.
-P # Bind processes/threads to processors, starting with this cpu #. Only available
on some platforms. The first sub process or thread will begin on the specified
processor. Future processes or threads will be placed on the next processor.
Once the total number of cpus is exceeded then future processes or threads will
be placed in a round robin fashion.
-x Turn off stone-walling. Stonewalling is a technique used internally to Iozone.
It is used during the throughput tests. The code starts all threads or process‐
es and then stops them on a barrier. Once they are all ready to start then
they are all released at the same time. The moment that any of the threads or
processes finish their work then the entire test is terminated and throughput
is calculated on the total I/O that was completed up to t his point. This en‐
sures that the entire measurement was taken while all of the processes or
threads were running in parallel. This flag allows one to turn off the
stonewalling and see what happens.
-S # Set processor cache size to value (in Kbytes). This tells Iozone the size of
the processor cache. It is used internally for buffer alignment and for the
purge functionality.
-z Used in conjunction with -a to test all possible record sizes. Normally Iozone
omits testing of small record sizes for very large files when used in full au‐
tomatic mode. This option forces Iozone to include the small record sizes in
the automatic tests also.
-+m filename
Used to specify a filename that will be used to specify the clients in a dis‐
tributed
measurement. The file contains one line for each client. The fields
are space delimited. Field 1 is the client name. Field 2 is the working direc‐
tory, on the client, where Iozone will run. Field 3 is the path to the exe‐
cutable Iozone on the client.
-+u Used to enable CPU statistics collection.
-+d Diagnostic mode to troubleshoot a broken file I/O subsystem.
-+p percentage_reads
Used to set the percentage of threads/processes that will perform read testing
in the mixed workload test case.
-+r Enable O_RSYNC | O_SYNC on all testing.
-+l Enable byte range locking.
-+L Enable byte range locking & shared file mode.
-+D Enable O_DSYNC on all testing.
-+t Enable network performance test. Use with -+m
-+A# Enable madvise behavior. 0 = normal, 1=random, 2=sequential, 3=dontneed,
4=willneed
-+B Enable sequential mixed workload testing.
-+T Enable time stamps logging.
-+h Manually set hostname.
-+w# Percentage of data to be de-dupable between files.
对buffer/cache相关参数影响的测试
-I参数确实非常有效,在测试yfs的时候出来的
使用free -m可以看出来,
当iozone跑的filesize = 256M的时候 cache 为200多m
当iozone跑的filesize = 512M的时候 cache 也变成500多m
通过echo 3 > /proc/sys/vm/drop_caches 可以清空这个cache
-Lin Yang 5/13/10 3:28 PM
于是,我开始对这些参数的作用进行一个比较:
-I DIRECT IO
-o
Writes are synchronously written to disk. (O_SYNC)
-p purges the processor cache before each file operation
-c Include close() in the timing calculations
-e
Include flush (fsync,fflush) in the timing calculations测试过程
无参数时候的命令为:加-I参数时候:iozone -i0 -i1 -s256M -r1M
iozone -i0 -i1 -s256M -r1M -I
加其它参数的时候类似.
测试结果
(下表测试在leap机器 <8G内存, ext3> )KB | reclen | write | rewrite | read | reread | ||
无参数 | 262,144 | 1,024 | 556,191 | 1,480,864 | 2,471,724 | 2,556,356 | |
-I | 262,144 | 1,024 | 28,340 | 28,243 | 80,484 | 80,595 | r/w都是硬盘 |
-o | 262,144 | 1,024 | 13,621 | 30,028 | 2,460,777 | 2,521,099 | 对写有影响 对cache没用 |
-p | 262,144 | 1,024 | 517,321 | 1,217,044 | 1,843,331 | 1,891,535 | 无影响 |
-c | 262,144 | 1,024 | 545,627 | 1,485,369 | 2,484,093 | 2,546,646 | 无影响 |
-e | 262,144 | 1,024 | 32,075 | 33,154 | 2,254,553 | 2,247,461 | 对写有影响 对cache没用 |
-I -o | 262,144 | 1,024 | 13,420 | 27,836 | 75,591 | 79,017 | |
-I -e | 262,144 | 1,024 | 28,089 | 28,015 | 78,873 | 78,870 | same as -I |
-o -e | 262,144 | 1,024 | 13,924 | 31,526 | 2,249,295 | 2,568,155 | same as -o |
可以看出,这些参数的影响 :
- 认为-c -p 影响很小
- 只有-I 影响read speed .
- 对于write speed,影响大小排序: -o > -I > -e
下面为同等情况下 mfs的测试:
mfs参数:
3machines , every machine have 3 harddisks , goal=2
KB | reclen | write | rewrite | read | reread | ||
无参数 | 106,027 | 54,228 | 168,032 | 148,067 | |||
-I | 262144 | 1024 | - | - | - | - | |
-o | 262144 | 1024 | 51,404 | 48,123 | 138,059 | 147,027 | |
-p | 262144 | 1024 | 51,704 | 56,547 | 140,665 | 149,992 | |
-c | 262144 | 1024 | 40,275 | 47,969 | 150,859 | 154,274 | |
-e | 262144 | 1024 | 32,546 | 39,377 | 145,963 | 152,111 | |
-I -o | 262144 | 1024 | - | - | - | - | |
-I -e | 262144 | 1024 | - | - | - | - | |
-o -e | 262144 | 1024 | 42,031 | 40,780 | 148,862 | 150,961 |
mfs下,这些参数好像不太有用.
iozone -t -T -u64 -l64
iozone -i0 -i1 -t -u64 -l32 -w -s1M
文件1M,并发从32到64
发表评论
-
svn 管理bashrc的问题
2010-11-17 11:49 1026我的.bashrc文件是通过svn管理的, 做法是在 re ... -
c/java/python性能比较
2010-06-25 17:42 3801测试环境: 8核8g内存 1. 文件读写测试: ... -
觉得openoffice这么难用,很大程度上是它的图标太诡异了
2010-05-17 14:14 1779这个是“背景颜色” 和 "Font co ... -
ssh转发:
2010-04-29 17:58 10906 ssh转发: 参考:实战 SSH 端口转发 for ... -
ubuntu 上安装nmon
2010-04-29 14:31 2504其实在图形界面下,任务管理器就很好拉 但是文本界面。。 ... -
sshd安全
2010-04-28 10:29 2821昨天把自己宿舍电脑暴露出来, 今天看了一下ssh ...
相关推荐
### IOZONE参数使用详解 #### 一、IOzone概述 IOzone是一款强大的文件系统基准测试工具,被广泛应用于多种平台上,旨在评估不同文件系统的输入输出(I/O)性能。通过执行一系列预设或自定义的文件操作,它可以提供...
2. **配置参数**:iozone有许多可配置的测试选项,如文件大小、测试模式、并发度等,用户可根据实际需求进行设置。 3. **运行测试**:执行iozone可执行文件,指定参数开始测试。 4. **分析结果**:测试完成后,...
- **文件系统调整**: 根据IOzone的结果,可能需要调整文件系统的参数,如块大小、预读策略等。 - **硬件升级**: 如果磁盘性能成为瓶颈,可以考虑升级到更快的硬盘,如SSD,或者增加缓存以提升性能。 - **RAID配置...
标题中的“iozone工具”是指这个软件本身,它是一个命令行界面的应用程序,可以自定义参数进行各种类型的I/O测试。用户可以根据需要设置不同的测试场景,如块大小、文件大小、并发线程数等,以模拟实际工作负载。...
iozone是一个非常专业的文件系统性能测试开源软件,可用于测试硬件的读写性能; 可以测试 Read, write, re-read,re-write, read backwards, read strided, fread, fwrite, random read, pread, mmap, aio_read, aio_...
IOzone 提供了多种参数以满足不同测试需求。常用的参数包括: * `-a`:指定自动化测试 * `-b`:指定测试后生成的Excel文件 * `-g`:指定最大的文件大小 * `-y`:指定最小的记录大小 * `-i`:指定测试的种类 六、...
**iozone工具** iozone是一款开源的、跨平台的文件系统基准测试工具,主要用于测量不同文件大小和操作模式下的磁盘I/O性能。它能够帮助系统管理员、开发人员以及研究人员评估存储系统的性能,并且可以用来比较不同...
同时,IOZONE支持自定义测试参数,如文件大小、并发线程数量等,这使得测试结果更具针对性和灵活性。 在使用IOZONE Windows时,首先要下载并安装IozoneSetup文件,这是一个包含可执行程序的压缩包。解压后,运行...
《Android I/O 性能测试:iozone4深入解析》 在移动开发领域,尤其是在Android平台上,优化应用程序的性能是至关重要的。其中,文件系统的读写速度直接影响到应用的响应速度和用户体验。为了评估和优化Android设备...
iozone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。 可以测试 Read, write, re-read,re-write, read backwards, read strided, fread, fwrite, random read, pread, mmap, aio_...
iozone一个文件系统性能评测工具,可以测试Read, write, re-read,re-write, read backwards, read strided, fread, fwrite, random read, pread, mmap, aio_read, aio_write 等不同模式下不同文件系统的读写性能。...
iozone linux测试IO性能工具
2. **可配置性**:测试参数可以根据需求进行调整,包括块大小、文件大小、测试模式等,以适应不同的系统和应用场景。 3. **多种操作模式**:除了基本的读写测试,iozone还提供重读、重写、擦除(擦除旧数据后再写入...
iozone最新IO测试dbench
iozone是一款非常不错的测试硬盘的工具
可以将IOzone输出的数据通过Excel宏转换为3D图片。
iozone(www.iozone.org)是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。可以测试 Read, write, re-read,re-write, read backwards, read strided, fread, fwrite, random read, ...