While doing some performance testing on a pair of X4540's running
snv_105, I noticed some odd behavior while using CIFS.
I am copying a 6TB database file (yes, a single file) over our GigE
network to the X4540, then snapshotting that data to the secondary
X4540.
Writing said 6TB file can peak our gigabit network, with about
95-100MB/sec going over the wire (can't ask for any more, really).

However, the disk IO on the X4540 appears unusual. I would expect the
disks to be constantly writing 95-100MB/sec, but it appears it buffers
about 1GB worth of data before committing to disk. This is in contrast
to NFS write behavior, where as I write a 1GB file to the NFS server
from an NFS client, traffic on the wire correlates concisely to the
disk writes. For example, 60MB/sec on the wire via NFS will trigger
60MB/sec on disk. This is a single file on both cases.

I wouldn't have a problem with this "buffer", it seems to be a rolling
10-second buffer, if I am copying several small files at lower speeds,
the disk buffer still seems to "purge" after roughly 10 seconds, not
when a certain size is reached. The larger the amount of data that
goes into the buffer is what causes a problem, writing 1GB to disk can
cause the system to slow down substantially, all network traffic
pauses or drops to mere kilobytes a second while it writes this
buffer.

I would like to see a smoother handling of this buffer, or a tuneable
to make the buffer write more often or fill quicker.

This is a 48TB unit, 64GB ram, and the arcstat perl script reports my
ARC is 55GB in size, with near 0% miss on reads.

Has anyone seen something similar, or know of any un-documented
tuneables to reduce the effects of this?


Here is 'zpool iostat' output, in 1 second intervals while this "write
storm" occurs".


# zpool iostat pdxfilu01 1
               capacity     operations    bandwidth
pool         used  avail   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
pdxfilu01   2.09T  36.0T      1     61   143K  7.30M
pdxfilu01   2.09T  36.0T      0      0      0      0
pdxfilu01   2.09T  36.0T      0      0      0      0
pdxfilu01   2.09T  36.0T      0      0      0      0
pdxfilu01   2.09T  36.0T      0     60      0  7.55M
pdxfilu01   2.09T  36.0T      0  1.70K      0   211M
pdxfilu01   2.09T  36.0T      0  2.56K      0   323M
pdxfilu01   2.09T  36.0T      0  2.97K      0   375M
pdxfilu01   2.09T  36.0T      0  3.15K      0   399M
pdxfilu01   2.09T  36.0T      0  2.22K      0   244M
pdxfilu01   2.09T  36.0T      0      0      0      0
pdxfilu01   2.09T  36.0T      0      0      0      0
pdxfilu01   2.09T  36.0T      0      0      0      0
pdxfilu01   2.09T  36.0T      0      0      0      0


Here is my 'zpool status' output.

# zpool status
  pool: pdxfilu01
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        pdxfilu01   ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c5t0d0  ONLINE       0     0     0
            c6t0d0  ONLINE       0     0     0
            c7t0d0  ONLINE       0     0     0
            c8t0d0  ONLINE       0     0     0
            c9t0d0  ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c4t1d0  ONLINE       0     0     0
            c6t1d0  ONLINE       0     0     0
            c7t1d0  ONLINE       0     0     0
            c8t1d0  ONLINE       0     0     0
            c9t1d0  ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c4t2d0  ONLINE       0     0     0
            c5t2d0  ONLINE       0     0     0
            c7t2d0  ONLINE       0     0     0
            c8t2d0  ONLINE       0     0     0
            c9t2d0  ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c4t3d0  ONLINE       0     0     0
            c5t3d0  ONLINE       0     0     0
            c6t3d0  ONLINE       0     0     0
            c8t3d0  ONLINE       0     0     0
            c9t3d0  ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c4t4d0  ONLINE       0     0     0
            c5t4d0  ONLINE       0     0     0
            c6t4d0  ONLINE       0     0     0
            c7t4d0  ONLINE       0     0     0
            c9t4d0  ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c4t5d0  ONLINE       0     0     0
            c5t5d0  ONLINE       0     0     0
            c6t5d0  ONLINE       0     0     0
            c7t5d0  ONLINE       0     0     0
            c8t5d0  ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c4t6d0  ONLINE       0     0     0
            c5t6d0  ONLINE       0     0     0
            c6t6d0  ONLINE       0     0     0
            c7t6d0  ONLINE       0     0     0
            c8t6d0  ONLINE       0     0     0
            c9t6d0  ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c4t7d0  ONLINE       0     0     0
            c5t7d0  ONLINE       0     0     0
            c6t7d0  ONLINE       0     0     0
            c7t7d0  ONLINE       0     0     0
            c8t7d0  ONLINE       0     0     0
            c9t7d0  ONLINE       0     0     0
        spares
          c6t2d0    AVAIL
          c7t3d0    AVAIL
          c8t4d0    AVAIL
          c9t5d0    AVAIL



-- 
Brent Jones
br...@servuhome.net
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to