admin 管理员组

文章数量: 887021


2024年3月11日发(作者:在线教程事件处理)

标签: Celerra, NAS, NFS, 存储性能

NFS的性能测试是一个系统工程,需要考虑到应用,主机,网络,NAS以及后端存储阵列。

一个网站日志系统的吞吐量当然远小于视频应用系统。本文只是简单描述怎样用单线程DD

来测试NFS的顺序IO性能,这种测试的结果可能比较近似于视频应用系统,而且还要打个

折扣。

DD是个简易的测试工具,比较实用不花哨。单线程DD测试只能提供一个大概的测试结果,

而且是连续IO 而不是随机IO ,理论上文件规模越大,测试结果越准确。可以用多线程

DD来模拟近似随即IO,但是最好还是用专业的性能测试软件如Iometer或IOzone。

一直想亲自用DD来测试一下NFS的性能,今天休息,整整花了4个多小时,还不包括前期

的构思,才得出下面这些测试结果。不管测试结果是否科学有效,至少又加深了对NFS的

了解以及截图软件的操作,值得。如果能对他人有所启示,那就更是意义非凡。

废话少说,开始切入正题。

1. NAS端基本网络环境检查:

查看NAS端网卡速度及模式(当然我们还需要看其他任何可能影响性能的网络设置比如路

由,Jumbo Frame,LACP等):

比如EMC Celerra就可以通过命令行查看当前网卡速度及模式:

2. NFS Client端基本网络环境检查:

比如RH就可以通过以下命令查看网卡速度及模式:

3.NFS Client端Mount配置:

Mount NFS时的参数非常多,以RH为例,常用的有NFS版本,传输协议,读大小(rsize)

和写大小(wsize),soft/hard, timeo等。

在网络负载较轻时UDP的性能更好,同时因为NFS通常被认为是一个无连接的协议,它鼓

励使用UDP协议,但当系统的负载较重时,使用TCP协议会更佳。

其他参数就不一一叙述了,经常需要根据具体应用来调节参数从而达到最佳的性能表现。

可以运行nfsstat -m来确认当前的配置信息:

4. 两个”伪文件”

/dev/null

位桶文件(bit bucket),就是我们常说的空文件。是一个输出设备。

任何写入它的输出都会被抛弃。如果不想让消息以标准输出显示或写入文件,那么可以将消

息重定向到位桶。把/dev/null看作”黑洞”. 它非常等价于一个只写文件. 所有写入它的内容

都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和脚本

都非常的有用。

/dev/zero

是一个输入设备,你可你用它来初始化文件。

该设备无穷尽地提供0(是ASCII 0 就是NULL),可以使用任何你需要的数目——设备提供

的要多的多。他可以用于向设备或文件写入NULL。像/dev/null一样, /dev/zero也是一个伪

文件,,但它实际上产生连续不断的null的流(二进制的零流,而不是ASCII型的)。

5. 测试环境

NFS client

主机

: Red Hat 4.1.1-52 VM ON ESX 4.0

CPU /

内存

: VCPU / 1 / 1GB Ram

服务器

: Dell PowerEdge R710, Xeon E5520*2/32GB

存储

: EMC Celerra NS-G8, 5.6.49-3 / 15x 146GB 15K 4Gb FC (目前没有对LUN进行优化)

/ RAID 5

网络:

千兆网卡,无任何高级网络设置

6. 写性能测试

为了最大程度的减小Cache对测试结果的影响,写的数据是测试机器RAM的整数倍。bs

大小则从8KB到64KB不等。另外为了最大程度的减少测试结果的偶然性,每次测试都测5

次。


本文标签: 测试 结果 性能 文件 网络