使用IOzone分析NFS的客户端性能

使用IOzone分析NFS的客户端性

Don Cappsdon.capps@hp.com)

Tom McNealtrmcneal@comcast.net
    IOzone
是一个有用的分析文件系统性能的基准工具,它可以运行于若干不同的平台, 包括LinuxHP-UX的,Solaris等等。它使用文件系统IO作为其主要测试方式,通过一套文件IO请求来表现被测试系统性能,这些IO请求从小文件到很大的文件,使用不同的记录大小,实施了大量不同的文件存取模式。它也允许测试管理员修改系统测试参数,这些参数影响系统对那些不同的被访问文件的大小和存取模式的响应,这是为了说明那些不这么做可能不明显或是平台之间可能有显著差异的系统问题。
   
除了在测试本地文件系统方面,IOzone可用于分析一个NFS 客户机/服务器的环境中客户端的性能,这时使用NFS挂载文件系统作为一套IO请求的目标。本文将讨论IOzone作为一个对NFS客户端的性能分析工具的用法。它包括完整的一套IO请求,不同系统响应的可能选项,以及最能说明系统行为的输出数据的可能处理方法。另外,它还将讨论一般的系统参数,为了更好的了解系统对于测试请求的响应。
   
最后,请注意,IOzone,以及随附的文档,可以从
http://www.iozone.org下载。
文件系统IO请求
   
测试执行的文件IO选用一个广泛范围的文件大小,默认从64 KB512MB,使用的记录大小从4KB16MB。无论是文件还是记录的大小,递增时每次都简单的使用前一次所用的值的两倍。如果有特殊要求,也可以增加文件大小至一个可选的较大的值,使得可以测试64位平台所支持的大型文件系统。请注意,单词“test”,本文以及IOzone文档中所使用的这个术语,是指一个单一的存取类型——例如,按顺序写,即从文件头到文件尾——对所有文件的执行,这些文件的大小由命令行中定义给出。当对每个文件执行IO时,它可能使用以下存取模式:
顺序读/写——许多记录将被写入到一个新的文件,并从一个现有文件中读取,从文件头到文尾。
顺序重写——许多记录将被重新写到一个现有文件中,从文件头到文件尾。
顺序重读——重新读取那些最近读过的文件的记录,从文件头到文件尾。这通常导致测试出来的性能比普通的读更好,由于缓存数据的存在。
回退读——从文件尾到文件头读取记录。少数操作系统根据这种模式优化文件存取过程,一些应用程序,例如MSC Nastrans,也常常这样做。
随机读/写——在随机的偏移量处写入和读取记录。
重写记录——单一记录将被重新写入一个现有文件中,从文件头开始。
• 大步
读——以一个特定常量间隔读取记录,从文件头到文件尾。
• fread/fwrite
——调用fread()和fwrite()函数写入一个新文件,并从一个现有文件中读,从文件头到文件尾。
• freread
——对一个最近读过的文件调用fread()函数。
• frewrite
——对一个现有文件调用fwrite()函数。
• pread/pwrite
——测试pread()和pwrite()在支持这些系统调用的系统上的性能。

    请注意,在正常情况下运行测试时,将buffer cache的大小限制为比最大的文件大小更低一些是很重要的,这样才能看到测试时cache未命中的效果。当然,这与内存映射文件无关,但请注意,当查看测试结果时,除了buffer cache,您可能会看到其他cache对性能的影响,当在那些cache大小限制下执行IO请求时。它们包括处理器的cache和二级内存cache,以及buffer cache。确保较大的文件大小比这些限制大可以准确说明cache命中和未命中的影响。
NFS 客户端的标准设置
    
使用IOzone分析NFS客户端的通常配置包括以下特性:
•IOzone
是从一个本地目录执行的
文件IO仅限于NFS挂载的目录中的文件
两次测试之间通过文件系统的卸载和重挂清空客户端caches
-U mountpoint
通过文件关闭时间来测量NFS v3中的提交时间(
-c
文件大小,从64 KB512MB ,使用的记录大小从4KB16MB
-a
当文件大小超过32MB时,记录大小将有一个64K的下限。此限制可以通过
-z 来移除
除了上述的限制,所有的记录大小是用于那些可以包含他们的文件(例如, 64K的文件可以以4K64K的记录大小测试,每一次迭代大小翻倍)
报告将以Excel电子表格的格式生成(
-R
•Excel
电子表格的格式是用来生成图形图像到指定的文件(
-b filename ) 。
标准输出的结果将写入一个本地文件。
假设/mnt/foo是一个NFS的挂载目录,本地目录是在本地挂载的,则完成上述情况的IOzone命令如下:
./ iozone – azcR –U /mnt/foo –f /mnt/foo/testfile –b exceloutput.xls > logfile
系统级的差异
   
可以通过测试参数来产生许多差异,这些差异体现了客户端的系统级特征。
这些差异可以被用来作为除了标准运行以外的数据收集过程中的变种,以分析客户端能力对系统级的影响,尤其是分析SMP客户时。这些差异包括:
所有线程/进程的处理器亲和力(
-P #
限制最少进程个数(
-l n
处理器cache清空(
-p
•CPU cache
大小和cache行的大小(
-S size -L size
去除“stonewalling”,一个IOzone的内在特征(
-x
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值