免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
IOZone使用指南本文将通过三个方面介绍IOZone的使用:1、IOZone的相关介绍。2、IOZone的测试方法。3、IOZone几种测试的定义。下面将从这三个方面来介绍IOZone。一、IOZone的介绍IOZone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。可以测试 Read, write, re-read,re-write, read backwards, read strided, fread, fwrite, random read, pread,mmap, aio_read, aio_write 等等不同的模式下的硬盘的性能。测试的时候请注意,设置的测试文件的大小一定要大过你的内存(最佳为内存的两倍大小),不然Linux会给你的读写的内容进行缓存,会使数值非常不真实。二、IOZone的测试方法下面是一些在IOZone进行测试时的相关选项:Usage: iozone -s filesize_Kb -r record_size_Kb -f pathfilename-i test -E -p -a -A -z -Z -m -M -t children -h -o-l min_number_procs -u max_number_procs -v -R -x-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 -K -L line_size -g max_filesize_Kb-n min_filesize_Kb -N -Q -P start_cpu -c -e -b filename-J milliseconds -X filename -Y filename -w -W-y min_recordsize_Kb -q max_recordsize_Kb -+m filename-+u -+d -+p percent_read -+r -+t -+A #下面会介绍一些比较常用的选项参数,其他的一些选项参数可以在IOZone的主页(/)上进行下载IOZone的使用手册进行了解。-h 显示帮助。-a 用来使用全自动模式。生成包括所有测试操作的报告,使用的块 大小从4k到16M,文件大小从64k到512M。-A 这种版本的自动模式提供更加全面的测试但是消耗更多时间。参数a在文件不小于32MB时将自动停止使用低于64K的块大小测试。这节省了许多时间。而参数A则告诉Iozone你不介意等待,即使在文件非常大时也希望进行小块 的测试。注意: 不推荐在Iozone3.61版中使用这个参数。使用az i 0 i 1替代。-R 产生Excel到标准输出-b 指定输出到指定文件上. 比如 -Rb ttt.xls-i N 用来选择测试项, 比如Read/Write/Random 比较常用的是0 1 2,可以指定成-i 0 -i 1 i 2。 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 -r block size 指定一次写入/读出的块大小 -s file size 指定测试文件的大小 -f filename 指定测试文件的名字,完成后会自动删除(这个文件必须指定你要测试的那个硬盘中) 批量测试项: -g -n 指定测试文件大小范围,最大测试文件为4G,可以这样写 -g 4G -y -q 指定测试块的大小范围 下面是我在测试中的一个测试实例:./iozone -a -g 16G -i 0 -i 1 -i 2 -f /opt/iozone -Rb iotestresult-8KB.xls注:进行全面测试.最大测试文件为16G,从64K开始。测试write/rewrite,read/re-read,random-read/write。本测试是将9个盘做RAID5之后挂载到/opt/iozone,测试地方在/opt/iozone。输出文件到iotestresult-8KB.xls中。结果分析:使用这条测试命令测试磁盘后,下面列举出了产生的Execl文件中的一段表,并进行了简单的解释。Writer Report4816326432768530081661272616702244416553654568285963016101186791310725539696894531308614136262144508870929634116021477652428854279356105021305613865104857660619625115281263213466在Execl文件中的这段表,它说明了这个表单是关于write的测试结果,左侧一列是测试文件大小(Kbytes),最上边一行是记录大小,中间数据是测试的传输速度。举例说明,比如表中的“5300”,意思是测试文件大小为32M,以记录大小为4K来进行传输,它的传输速度为5300 Kbytes/s。三IOZone几种测试的定义Write:测试向一个新文件写入的性能。当一个新文件被写入时,不仅仅是那些文件中的数据需要被存储,还包括那些用于定位数据存储在存储介质的具体位置的额外信息。这些额外信息被称作“元数据”。它包括目录信息,所分配的空间和一些与该文件有关但又并非该文件所含数据的其他数据。拜这些额外信息所赐,Write的性能通常会比Re-write的性能低。 Re-write:测试向一个已存在的文件写入的性能。当一个已存在的文件被写入时,所需工作量较少,因为此时元数据已经存在。Re-write的性能通常比Write的性能高。Read:测试读一个已存在的文件的性能。 Re-Read:测试读一个最近读过的文件的性能。Re-Read性能会高些,因为操作系统通常会缓存最近读过的文件数据。这个缓存可以被用于读以提高性能。 Random Read:测试读一个文件中的随机偏移量的性能。许多因素可能影响这种情况下的系统性能,例如:操作系统缓存的大小,磁盘数量,寻道延迟和其他。 Random Write:测试写一个文件中的随机偏移量的性能。同样,许多因素可能影响这种情况下的系统性能,例如:操作系统缓存的大小,磁盘数量,寻道延迟和其他。 Random Mix:测试读写一个文件中的随机偏移量的性能。同样,许多因素可能影响这种情况下的系统性能,例如:操作系统缓存的大小,磁盘数量,寻道延迟和其他。这个测试只有在吞吐量测试模式下才能进行。每个线程/进程运行读或写测试。这种分布式读/写测试是基于round robin 模式的。最好使用多于一个线程/进程执行此测试。 Backwards Read:测试使用倒序读一个文件的性能。这种读文件方法可能看起来很可笑,事实上,有些应用确实这么干。MSC Nastran是一个使用倒序读文件的应用程序的一个例子。它所读的文件都十分大(大小从G级别到T级别)。尽管许多操作系统使用一些特殊实现来优化顺序读文件的速度,很少有操作系统注意到并增强倒序读文件的性能。 Record Rewrite:测试写与覆盖写一个文件中的特定块的性能。这个块可能会发生一些很有趣的事。如果这个块足够小(比CPU数据缓存小),测出来的性能将会非常高。如果比CPU数据缓存大而比TLB小,测出来的是另一个阶段的性能。如果比此二者都大,但比操作系统缓存小,得到的性能又是一个阶段。若大到超过操作系统缓存,又是另一番结果。 Strided Read:测试跳跃读一个文件的性能。举例如下:在0偏移量处读4Kbytes,然后间隔200Kbytes,读4Kbytes,再间隔200Kbytes,如此反复。此时的模式是读4Kbytes,间隔200Kbytes并重复这个模式。这又是一个典型的应用行为,文件中使用了数据结构并且访问这个数据结构的特定区域的应用程序常常这样做。许多操作系统并没注意到这种行为或者针对这种类型的访问做一些优化。同样,这种访问行为也可能导致一些有趣的性能异常。一个例子是在一个数据片化的文件系统里,应用程序的跳跃导致某一个特定的磁盘成为性能瓶颈。 Fwrite:测试调用库函数fwrite()来写文件的性能。这是一个执行缓存与阻塞写操作的库例程。缓存在用户空间之内。如果一个应用程序想要写很小的传输块,fwrite()函数中的缓存与阻塞I/O功能能通过减少实际操作系统调用并在操作系统调用时增加传输块的大小来增强应用程序的性能。这个测试是写一个新文件,所以元数据的写入也是要的。Frewrite:测试调用库函数fwrite()来写文件的性能。这是一个执行缓存与阻塞写操作的库例程。缓存在用户空间之内。如果一个应用程序想要写很小的传输块,fwrite()函数中的缓存与阻塞I/O功能能通过减少实际操作系统调用并在操作系统调用时增加传输块的大小来增强应用程序的性能。这个测试是写入一个已存在的文件,由于无元数据操作,测试的性能会高些。 Fread:测试调用库函数fread()来读文件的性能。这是一个执行缓存与阻塞读操作的库例程。缓存在用户空间之内。如果一个应用程序想要读很小的传输块,fwrite()函数中的缓存与阻塞I/O功能能通过减少实际操作系统调用并在操作系统调用时增加传输块的大小来增强应用程序的性能。Freread::这个测试与上面的fread 类似,除了在这个测试中被读文件是最近才刚被读过。这将导致更高的性能,因为操作系统缓存了文件数据。 几个特殊测试: Mmap:许多操作系统支持mmap()的使用来映射一个文件到用户地址空间。映射之后,对内存的读写将同步到文件中去。这对一些希望将文件当作内存块来使用的应用程序来说很方便。一个例子是内存中的一块将同时作为一个文件保存在于文件系统中。 mmap :文件的语义和普通文件略有不同。如果发生了对内存的存储,并不是立即发生相应的文件I/O操作。使用MS_SYNC 和MS_ASYNC标志位的 msyc()函数调用将控制内存和文件的一致性。调用msync() 时将MS_SYNC置位将强制把内存里的内容写到文件中去并等待
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代建筑设计案例解析
- 医务工作者在面对疫情等紧急情况下的心理调适与压力管理
- 债券承销分析师岗位岗位胜任力模型
- 供应链管理师供应商管理与评估体系
- 农业科技发展趋势与应用分析
- 人力资源管理实践与技巧
- 全球电商趋势下的跨境仓储面试指南
- 值班主管岗位面试技巧指南
- 公交行业面试攻略职业选择与面试技巧
- 互联网数据分析师数据分析师行业趋势分析
- T/CIE 166-2023企业级固态硬盘测试规范第2部分:性能测试
- 净菜项目可行性研究报告
- 中国老年高血压管理指南(2023版)解读
- 道德与法治初一上全册知识点(含思维导图)
- 【大学课件】风险导向的内部审计案例分析
- 2025年中移铁通广西分公司招聘笔试参考题库含答案解析
- 信息化项目风险应对措施
- 《全国森林经营规划(2016-2050年)》
- 大学生管理素养提升知到智慧树章节测试课后答案2024年秋山东第一医科大学
- 临床研究中期汇报
- 门座起重机培训(图文版)
评论
0/150
提交评论