本文转自:https://www.linux.com/news/benchmarking-nfsv3-vs-nfsv4-file-operation-performance/,由谷歌翻译提供翻译结果并整理!
NFSv4 发布于2003年4月,引入了有状态的客户端-服务器交互和“文件委托”,它允许客户端获得对服务器上文件的临时独占访问权限。 NFSv4 带来了安全改进,例如 RPCSEC_GSS、一次向服务器发送多个操作、新的文件属性、复制、客户端缓存和改进的文件锁定的能力。
测试使用的设备配置:
1、服务器
内存:8GB RAM
CPU:Intel Q6600
文件大小:16GB
系统:Fedora9
网卡:英特尔千兆PCIe EXPI9300PT
硬盘与文件系统:RAID-5 上创建的 ext3 文件系统(3块500G硬盘)
stripe_cache_size :16384
2、客户端
内存: 2GB RAM
CPU:AMD X2
文件大小:4GB
系统:Fedora9
网卡:英特尔千兆PCIe EXPI9300PT
3、测试方案:
3.1、NFSv3
3.2、NFSv3 async
3.3、NFSv4
3.4 、NFSv4 async
4、测试内容与测试结果:
下表显示了各种 NFS 版本 3 和 4 挂载文件系统的 Bonnie++ 输入、输出和搜索以及在服务器上运行的基准。无论您是否使用异步选项,读取性能几乎相同。NFSv4 的块顺序输出并不比 NFSv3 好。在不使用异步选项的情况下,输出约为 50Mbps,而本地文件 的速度约为91Mbps。使用异步选项时,顺序块输出在 NFS 挂载上更接近本地磁盘速度。
Configuration | Sequential Output | Sequential Input | Random | |||||||||
Per Char | Block | Rewrite | Per Char | Block | Seeks | |||||||
K/sec | % CPU | K/sec | % CPU | K/sec | % CPU | K/sec | % CPU | K/sec | % CPU | /sec | % CPU | |
local filesystem | 62340 | 94 | 91939 | 22 | 45533 | 19 | 43046 | 69 | 109356 | 32 | 239.2 | 0 |
NFSv3 | 50129 | 86 | 47700 | 6 | 35942 | 8 | 52871 | 96 | 107516 | 11 | 1704 | 4 |
NFSv3 async | 59287 | 96 | 83729 | 10 | 48880 | 12 | 52824 | 95 | 107582 | 10 | 9147 | 30 |
NFSv4 | 49864 | 86 | 49548 | 5 | 34046 | 8 | 52990 | 95 | 108091 | 10 | 1649 | 4 |
NFSv4 async | 58569 | 96 | 85796 | 10 | 49146 | 10 | 52856 | 95 | 108247 | 11 | 9135 | 21 |
下表显示了用于文件创建、读取和删除的 Bonnie++ 基准。请注意,异步选项对文件的创建和删除有巨大的影响。
Configuration | Sequential Create | Random Create | ||||||||||
Create | Read | Delete | Create | Read | Delete | |||||||
/sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | |
NFSv3 | 186 | 0 | 6122 | 10 | 182 | 0 | 186 | 0 | 6604 | 10 | 181 | 0 |
NFSv3 async | 3031 | 10 | 8789 | 11 | 3078 | 9 | 2921 | 11 | 11271 | 13 | 3069 | 9 |
NFSv4 | 98 | 0 | 6005 | 13 | 193 | 0 | 93 | 0 | 6520 | 11 | 192 | 0 |
NFSv4 async | 1314 | 8 | 7155 | 13 | 5350 | 12 | 1298 | 8 | 7537 | 12 | 5060 | 9 |
为了测试更多的日常性能,我解压了 linux-2.6.25.4.tar,然后删除了解压。 请注意,原始tar包未压缩,以确保客户端的 CPU 不会减慢提取速度。
配置项 | Find (m:ss) | Remove (m:ss) |
本地文件 | 0:01 | 0:03 |
NFSv3 | 9:44 | 2:36 |
NFSv3 async | 0:31 | 0:10 |
NFSv4 | 9:52 | 2:27 |
NFSv4 async | 0:40 | 0:08 |
四、测试结论:
从 NFSv3 迁移到 NFSv4 没有明显的性能优势。
NFSv4 文件创建速度实际上是 NFSv3 文件创建速度的一半左右,但 NFSv4 可以比 NFSv3 更快地删除文件。 到目前为止,最大的速度提升来自于打开 async 选项,但如果 NFS 服务器崩溃或重新启动,使用它可能会导致文件丢失等问题。
网友留言: