慢速NFS传输小文件的性能

我在使用RAID 1 0组合的HP ML370 G5,Smart Array P400,SAS磁盘上使用Openfiler 2.3.

我使用Openfiler的基于Web的配置从ext3分区设置了NFS共享,我成功地从另一台主机安装了共享.两个主机都使用专用的千兆链路进行连接.

使用dd的简单基准:

$dd if=/dev/zero of=outfile bs=1000 count=2000000
 2000000+0 records in
 2000000+0 records out
 2000000000 bytes (2.0 GB) copied,34.4737 s,58.0 MB/s

我发现它可以达到适中的传输速度(58.0 MB / s).

但是如果我复制一个包含许多小文件(.PHP和.jpg,每个文件大约1-4 kB)的目录,总大小约为300 MB,那么cp过程大约需要10分钟.

NFS不适合像上面那样的小文件传输吗?或者是否有一些必须调整的参数?

解决方法

传输许多小文件总是比传输单个大文件慢得多的原因有很多.对于读取,文件更可能散布在磁盘周围,需要遍布整个地方才能获取它们.正如Evan所说,在NFS(或任何其他文件系统)的情况下也会涉及元数据,这也使事情变得复杂.

您可以尝试将您的rsize和wsize参数增加到NFS挂载,看看是否有助于提高性能.另外在调优NFS上检查this question以获得最小延迟,因为它有很多有用的建议,这将有助于许多小文件传输.

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...