为什么ZFS在2.4 gig之后减速制作大文件?


2

在Linux上使用Zfs,我正在制作一个大型tar文件,我正在观看它添加到文件中,并且它非常快,直到它达到2.4gig大小,然后它只是爬行了几个小时。

ext4上的同一文件没有问题。任何人都知道为什么会这样?

zfs文件系统位于镜像的1tb vdev上。充足的空间。

zpool list z
NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
z      928G   463G   465G         -    28%    49%  1.00x  ONLINE  -

编辑:添加get all和iostat的结果...

    root@io:~# zfs get all z
    NAME  PROPERTY              VALUE                  SOURCE
    z     type                  filesystem             -
    z     creation              Sat Jul 25  8:29 2015  -
    z     used                  472G                   -
    z     available             427G                   -
    z     referenced            19K                    -
    z     compressratio         1.10x                  -
    z     mounted               yes                    -
    z     quota                 none                   default
    z     reservation           none                   default
    z     recordsize            128K                   default
    z     mountpoint            /z                     default
    z     sharenfs              off                    default
    z     checksum              on                     default
    z     compression           lz4                    local
    z     atime                 on                     default
    z     devices               on                     default
    z     exec                  on                     default
    z     setuid                on                     default
    z     readonly              off                    default
    z     zoned                 off                    default
    z     snapdir               hidden                 default
    z     aclinherit            restricted             default
    z     canmount              on                     default
    z     xattr                 on                     default
    z     copies                1                      default
    z     version               5                      -
    z     utf8only              off                    -
    z     normalization         none                   -
    z     casesensitivity       sensitive              -
    z     vscan                 off                    default
    z     nbmand                off                    default
    z     sharesmb              off                    default
    z     refquota              none                   default
    z     refreservation        none                   default
    z     primarycache          all                    default
    z     secondarycache        all                    default
    z     usedbysnapshots       0                      -
    z     usedbydataset         19K                    -
    z     usedbychildren        472G                   -
    z     usedbyrefreservation  0                      -
    z     logbias               latency                default
    z     dedup                 off                    default
    z     mlslabel              none                   default
    z     sync                  standard               default
    z     refcompressratio      1.00x                  -
    z     written               19K                    -
    z     logicalused           521G                   -
    z     logicalreferenced     9.50K                  -
    z     filesystem_limit      none                   default
    z     snapshot_limit        none                   default
    z     filesystem_count      none                   default
    z     snapshot_count        none                   default
    z     snapdev               hidden                 default
    z     acltype               off                    default
    z     context               none                   default
    z     fscontext             none                   default
    z     defcontext            none                   default
    z     rootcontext           none                   default
    z     relatime              off                    default
    z     redundant_metadata    all                    default
    z     overlay               off                    default




    when it's going fast.

    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               4.30    0.25    8.97    9.29    0.00   77.20

    Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
    sda               0.00     0.00    0.00    0.50     0.00     6.00    24.00     0.00    0.00    0.00    0.00   0.00   0.00
    sdb               0.00     0.50    0.00    1.00     0.00     6.00    12.00     0.00    2.00    0.00    2.00   2.00   0.20
    sdc               0.00     0.00  108.50  199.50  3702.50 11780.25   100.54     3.78   12.35   23.93    6.06   2.69  82.80
    sdd               0.00     0.00  255.00  177.50  1930.50 10308.25    56.60     2.39    5.57    5.49    5.68   1.95  84.40

    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               4.00    0.13   10.98    2.98    0.00   81.92

    Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
    sda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
    sdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
    sdc               0.00     0.00  401.50    0.00  1168.50     0.00     5.82     1.09    2.71    2.71    0.00   1.48  59.40
    sdd               0.00     0.00  443.50    0.00  9012.00     0.00    40.64     1.70    3.83    3.83    0.00   1.31  58.00


    after 2.1 gigs.

    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               2.41    0.00    3.99   15.76    0.00   77.85

    Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
    sda               0.00     0.00    0.00    4.50     0.00    20.00     8.89     0.00    0.00    0.00    0.00   0.00   0.00
    sdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
    sdc               1.00     0.00  173.00   51.00  8988.00  1645.75    94.94     3.31   14.79   17.47    5.73   4.09  91.60
    sdd               2.00     0.00  357.50   36.50 21646.00   818.75   114.03     3.90   10.39   11.14    3.01   2.19  86.40

    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               3.17    0.00    2.09   10.71    0.00   84.03

    Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
    sda               0.00     7.50    0.00    1.50     0.00    40.00    53.33     0.00    2.67    0.00    2.67   2.67   0.40
    sdb               0.00    28.00    0.50   13.00     2.00   162.00    24.30     0.03    1.93    0.00    2.00   1.93   2.60
    sdc               2.00     0.00  360.00    0.00 22623.50     0.00   125.69     5.33   14.65   14.65    0.00   2.71  97.60
    sdd               0.00     0.00  163.50    0.00  7950.25     0.00    97.25     3.46   21.17   21.17    0.00   5.83  95.40

因此,当它放慢速度时,会有更多的读取io。知道为什么吗?焦油应该只是写作我想。

谢谢。


你有多少RAM?文件的大小是多少?
qasdfdsaq 2015年

8演出的公羊,每个2-4meg文件。
Stu 2015年

哦,等等,对不起错误,机器2-4兆档,32演出的ram
Stu

你能做'zfs get all z'和'iostat -x 2'吗?
qasdfdsaq 2015年

我很好奇这个问题是由于阅读还是写作造成的。你可以尝试一下dd if=/dev/urandom of=/z/somefileonzfs bs=1M,关注命名的output(of)文件的大小,看看在这种情况下它是否会在几千兆字节后变慢?注意:这会耗尽你的系统随机池熵,所以不要做以后立即生成新的PGP密钥......(你也可以关闭文件系统上的压缩并使用/ dev / zero而不是/ dev / urandom。)如果在dd的情况下写入速度变慢,则问题源于写入; 如果没有,它源于阅读。
2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.