深入学习IOZone 技术文档 内部文档,注意保密 1 / 6 深入学习IOZone 刘智朋 2011-3-29 1 IOZone 概述 iozone 是一个文件系统的benchmark 工具,可以测试不同的操作系统中文件系统的读写性能。可以测试 Read, write, re-read,re-write, read backwards, read strided, fread, fwrite, random read, pread, mmap, aio_read, aio_write 等等不同的模式下的硬盘的性能。 测试的时候请注意,设置的测试文件的大小一定要大过你的内存(最佳为内存的两倍大小),不然 Linux 会给你的读写的内容进行缓存,会使数值非常不真实。 2 IOZone 特征 (1) 使用 ANSI ‘C’编写 (2) POSIX 异步 I/O 支持. (3) Mmap() 文件I/O 支持. (4) 普通文件I/O 支持 (5) 单一流测试Single stream measurement. (6) 多流测试Multiple stream measurement. (7) 支持 POSIX 线程.多进程测试.结果生成采用直观的Excel 表格形式. (8) I/O 延迟数据 Latency data for plots. (9) 兼容 64 位系统.兼容大文件. (10) 吞吐量测试中使用 Stonewalling 来避免不同步的问题. (11) 可以配置处理器缓存大小.可选择是否使用 fsync, O_SYNC 进行测试. (12) 可以针对 NFS 进行测试. 深入学习IOZone 技术文档 内部文档,注意保密 2 / 6 3 IOZone 安装 3.1 下载安装程序 首先从官方下载最新的iozone 源码包,然后编译适合自己target 的执行文件。 #tar iozone3_347.tar #cd iozone3_347/src/current #make linux (直接执行make 有帮助选项) 4 IOZone 几种测试的定义 Write:测试向一个新文件写入的性能。当一个新文件被写入时,不仅仅是那些文件中的数据需要被存储,还包括那些用于定位数据存储在存储介质的具体位置的额外信息。这些额外信息被称作“元数据”。它包括目录信息,所分配的空间和一些与该文件有关但又并非该文件所含数据的其他数据。拜这些额外信息所赐,Write 的性能Re-write:测试向一个已存在的文件写入的性能。当一个已存在的文件被写入时,所需工作量较少,因为此时元数据已经存在。Re-write 的性能通常比 Write 的性能高。 Re-write:测试向一个已存在的文件写入的性能。当一个已存在的文件被写入时,所需工作量较少,因为此时元数据已经存在。Re-write 的性能通常比 Write 的性能高。 Read:测试读一个已存在的文件的性能...