zsgd 发表于 2010-06-24 23:34

zfs+nfs读写小文件奇慢,何故?

本帖最后由 zsgd 于 2010-06-26 12:27 编辑

请大侠帮忙分析,谢谢!!!

一台nfs server 在open solaris 的zfs上,共享的目录为scratch_qa, 当在客户端读写一个大文件216M时间大约6秒以内,是正常的,但把这个文件展开,大小约218M,文件个数是898个,这时在客户端的读写时间大概在180s~~450秒之间,相差太大,同样的操作在另外一个同样的环境下,需要的时间基本在12~~15秒之间,测试如下。在nfs服务器上进行读写,就是不出网络是正常的,但网络的工作是正常的,通过网络scp一个大文件可以到25m/s-35m/s,网络是没有问题的。

1, 一个文件夹IT,大小为218M,文件个数是898个;一个由IT文件夹做的tar包,大小216M,
# du -sh IT*
218M        IT
216M        IT.tar

# find* |wc -l
898

2, 下面的scratch/qa是从有问题的server mount过来的,cp IT目录用的时间基本在180s~~450秒之间,时间太长,因为文件个数较多,需要花费时间生成inode,但时间也太长了,属于不正常的。
# time cp -r IT/ /scratch/qa/

real        3m39.462s
user        0m0.030s
sys        0m0.432s

3, cp IT.tar文件需要的时间基本都在6秒以内,属正常。
# time cp -rp IT.tar/scratch/qa/

real        0m5.696s
user        0m0.018s
sys        0m0.298s


4,下面是客户端mount有问题的nfs server时的一些参数,有一点要注意是noacl,因为acl有可能会影响到读写,这里是noacl,现在看到的通讯协议是udp,tcp也测试过,同样有问题。

# mount |grepscratch_qa
cnxass03:/data/export/scratch_qa on /scratch/qa type nfs (rw,intr,udp,noacl,hard,rsize=8192,wsize=8192,timeo=1000000,addr=172.17.192.23)


5, 下面是客户端mount 正常nfs服务器的一些参数。
# mount |grep pcc_qa
cnxafs02:/data/export/pcc_qa on /pcc/qa type nfs (rw,intr,noacl,udp,hard,rsize=8192,wsize=8192,timeo=1000000,addr=172.17.192.38)

6, 下面是cp那个文件夹到正常服务器所用的时间。
# time cp -rp IT /pcc/qa/IT/

real        0m11.890s
user        0m0.017s
sys        0m0.453s

bj161109 发表于 2010-06-25 22:05

看dmesg有报错没有?

zhmzhouming 发表于 2010-06-26 09:34

大文件呢?

我曾经因为网络原因,百兆网卡被适应成10兆,最后传输速率是几百K,也是慢死了。

zsgd 发表于 2010-06-26 12:33

看dmesg有报错没有?
bj161109 发表于 2010-06-25 22:05 http://bbs.chinaunix.net/images/common/back.gif


    dmesg没有错误。

zsgd 发表于 2010-06-26 12:36

本帖最后由 zsgd 于 2010-06-26 12:40 编辑

大文件呢?

我曾经因为网络原因,百兆网卡被适应成10兆,最后传输速率是几百K,也是慢死了。
zhmzhouming 发表于 2010-06-26 09:34 http://bbs.chinaunix.net/images/common/back.gif


    -bash-3.2# ndd /dev/bnx0 link_speed
1000

网卡工作速度是1000M,通过网络scp大文件能到25m--35m/秒,但copyn个小文件就是特别的慢。

hsprince 发表于 2010-06-27 11:02

网络原因。

zsgd 发表于 2010-06-28 10:42

网络原因。
hsprince 发表于 2010-06-27 11:02 http://bbs.chinaunix.net/images/common/back.gif


网络是没问题的,如下:
   
网卡工作速度是1000M,通过网络scp大文件能到25m--35m/秒,但copyn个小文件就是特别的慢。

realsatan 发表于 2013-12-06 15:32

我也觉得好慢。复制小文件的时候,网速就几百K,复制大文件就可以达到900MB。。 我用的是RAIDZ+share.nfs

yejunlon 发表于 2013-12-07 11:40

回复 1# zsgd

请用压缩属性compression=gzip,试试看


   
页: [1]
查看完整版本: zfs+nfs读写小文件奇慢,何故?