On Thu, 2007-08-30 at 13:07 -0700, eric kustarz wrote:
> On Aug 30, 2007, at 12:33 PM, Jeffrey W. Baker wrote:
> >
> > Uh, whoops.  As I freely admit this is my first encounter with
> > opensolaris, I just built the software on the assumption that it would
> > be 64-bit by default.  But it looks like all my benchmarks were built
> > 32-bit.  Yow.  I'd better redo them with -m64, eh?
> >
> > [time passes]
> >
> > Well, results are _substantially_ worse with bonnie++ recompiled at
> > 64-bit.  Way, way worse.  54MB/s linear reads, 23MB/s linear writes,
> > 33MB/s mixed.
> 
> Hmm, what are you parameters?

bonnie++ -g daemon -d /tank/bench/ -f

This becomes more interesting.  The very slow numbers above were on an
aged (post-benchmark) filesystem.  After destroying and recreating the
zpool, the numbers are similar to the originals (55/87/37).  Does ZFS
really age that quickly?  I think I need to do more investigating here.

> >> For the randomio test, it looks like you used an io_size of 4KB.  Are
> >> those aligned?  random?  How big is the '/dev/sdb' file?
> >
> > Randomio does aligned reads and writes.  I'm not sure what you mean
> > by /dev/sdb?  The file upon which randomio operates is 4GiB.

> Another thing to know about ZFS is that it has a variable block size  
> (that maxes out at 128KB).  And since ZFS is COW, we can grow the  
> block size on demand.  For instance, if you just create a small file,  
> say 1B, you're block size is 512B.  If you go over to 513B, we double  
> you to 1KB, etc.

# zfs set recordsize=2K tank/bench
# randomio bigfile 10 .25 .01 2048 60 1

  total |  read:         latency (ms)       |  write:        latency (ms)
   iops |   iops   min    avg    max   sdev |   iops   min    avg    max   sdev
--------+-----------------------------------+----------------------------------
  463.9 |  346.8   0.0   21.6  761.9   33.7 |  117.1   0.0   21.3  883.9   33.5

Roughly the same as when the RS was 128K.  But, if I set the RS to 2K
before creating bigfile:

  total |  read:         latency (ms)       |  write:        latency (ms)
   iops |   iops   min    avg    max   sdev |   iops   min    avg    max   sdev
--------+-----------------------------------+----------------------------------
  614.7 |  460.4   0.0   18.5  249.3   14.2 |  154.4   0.0    9.6  989.0   27.6

Much better!  Yay!  So I assume you would always set RS=8K when using
PostgreSQL, etc?

-jwb

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to