mdadm raid10 或 nfs 性能问题?

mdadm raid10 或 nfs 性能问题?

我有一个新的 mdadm RAID10 设备,它运行良好,由 4 x 7200rpm SATA 3 驱动器构建:

# cat /proc/mdstat 
Personalities : [raid10] [raid1] 
md2 : active raid10 sdc3[5] sda3[4] sdb3[1] sdd3[3]
      3885267968 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]

(还有其他 2 个 mdadm 设备,但 md2 是相关的)

md2 之上是一个 ext4 文件系统,创建方式如下:

mkfs.ext4 -m0 -L bups -b 4096 -E stride=8,stripe-width=32 /dev/md2

当将其用作 NFS 上的备份目标时,其性能非常糟糕。使用单个客户端写入时,我看到如下数据,I/O 等待时间约为 30% 到 50% top

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda             197.00         0.00         1.07          0          1
sdb             189.00         0.00         1.09          0          1
sdc             300.00         0.00         1.78          0          1
sdd             290.00         0.00         1.78          0          1
md2             785.00         0.00         2.86          0          2

平均负载较高:

# uptime
 11:40:38 up 21:21,  1 user,  load average: 9.90, 9.18, 8.92

使用dd表现出不错的性能:

# dd if=/dev/zero of=/bup/test.dd bs=4096 count=1024000
1024000+0 records in
1024000+0 records out
4194304000 bytes (4.2 GB) copied, 18.7801 s, 223 MB/s

连接性全程都是千兆位。这是全新 HP DL160 Gen8 上的 CentOS 6.2 x64,配有 16GB RAM,本应是专用的备份目标,但性能却不及此。

编辑

控制器是 SATA AHCI 模式的 HP B120i。

/etc/exports在服务器上:

/bup/phdv   172.31.42.30(rw,no_root_squash)

/etc/fstab在客户端上提取(也是CentOS 6.4 x64):

svr-bup1.example.com:/bup/pronto    /mnt/bup    nfs soft    0 0

编辑2

相关信息来自/proc/mounts

svr-bup1.example.com:/bup/pronto /mnt/bup2 nfs4 rw,relatime,vers=4,rsize=1048576,wsize=1048576,namlen=255,soft,proto=tcp6,port=0,timeo=600,retrans=2,sec=sys,clientaddr=2001:xxxx:xxxx:xxxx::240,minorversion=0,local_lock=none,addr=2001:xxxx:xxxx:xxxx::210 0 0

答案1

在服务器上增加RPCNFSDCOUNT数量/etc/default/nfs-kernel-server可能会有帮助;
在客户端上,可能值得尝试更小的rsizewsize......

相关内容