IPS专家秘籍第二期:AIX NFS参数调整示例

问题现象

客户反馈PowerVM环境下,AIX客户端写NAS存储性能存在明显瓶颈:

−在VIOS上通过在SEA上建立的IP挂载NFS文件系统,dd 10G的文件只要30秒;而在VIOC上走这个SEA的虚拟网卡,dd 10G的文件要5分钟。

−据了解,客户使用NFS mount选项为:rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,vers=3,timeo=600,noac

问题分析

使用两个AIX分区分别作为NFS Server和Client,搭环境重现了下客户的问题,确认为NFS选项noac参数的问题;

使用默认选项(即ac,attribute caching)时,NFS客户端写性能约为300MBps;

只要选项包含noac的话,搭建的NFS客户端写文件性能不超过30MBps;仅为正常情况的十分之一左右;

−#mount -o rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,vers=3,timeo=600,noac nfstest:/projects /mnt

使用客户采用的其他选项,仅去掉noac,NFS客户端写性能也能达到~300MBps;

−mount -o rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,vers=3,timeo=600 nfstest:/projects /mnt

NFS网络数据交互分析:使用noac的场景(IO性能差)

noac这个参数不仅隐含禁止了写缓存,实际上把IO操作都强制要求同步了。这样一来,客户端的缓存就没用了;此时NFS 文件系统IO性能完全由Client/Server间的网络延迟决定。

NFS网络数据交互分析:默认的attribute caching策略的场景(IO性能高)

这种场景性能主要取决于网络带宽;与NFS Client采用的缓存策略、缓存容量等也有一定的关系。

问题结论

SEA虚卡性能在实施最佳实践之后网络带宽与物理卡相当,只是网络延迟略高;

−在不使用noac的情况下, 从VIOC虚卡访问NFS与VIOS物理卡访问性能相当。

−如果使用noac,性能取决于网络延迟,因为VIOS上的SEA卡不经过vSwitch转发,延迟低,性能相应也高出不少,接近物理卡。而VIOC虚卡性能差距则比较明显。

在存在多个NFS 客户端共享访问相同文件的情况下,NFS noac选项可以提供更高的缓存一致性;方便在系统间更快速地交互文件。但此选项也带来了很严重的性能隐患。

如果是数据库的数据文件之类确实有必要使用noac;但同步要求不高的普通文件系统,比如备份归档类,不建议配置这个参数。

对网络延迟比较敏感的场景(比如上述采用NFS noac选项的情况),应采用vnic/SRIOV虚拟化方式。

发布于 2020-05-22 16:14