Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Aug 2010 23:19:59 -0700
From:      Jeremy Chadwick <freebsd@jdc.parodius.com>
To:        "Alex V. Petrov" <alexvpetrov@gmail.com>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: zpool - low speed write
Message-ID:  <20100805061959.GA92106@icarus.home.lan>
In-Reply-To: <201008051409.57751.alexvpetrov@gmail.com>
References:  <201008042008.25679.alexvpetrov@gmail.com> <201008051247.43260.alexvpetrov@gmail.com> <20100805053504.GA91196@icarus.home.lan> <201008051409.57751.alexvpetrov@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Aug 05, 2010 at 02:09:57PM +0800, Alex V. Petrov wrote:
> В сообщении от 5 августа 2010 13:35:04 вы написали:
> > Write performance here is abysmal, agreed.  This is very odd.
> > 
> > I hate to say this, but can you remove ahci.ko (ahci_load="yes") from
> > your loader.conf and reboot?  You may need to change filesystem names
> > around in /etc/fstab for your OS disk (assuming it's on ada0), but for
> > ZFS it should just magically find the disks on adXX.
> > 
> > If you could also provide pciconf -lvc output that would be helpful.
> > Thanks.
> 
> dd if=/dev/zero of=/tank/test.zero bs=3M count=1000
> 1000+0 records in
> 1000+0 records out
> 3145728000 bytes transferred in 485.431690 secs (6480269 bytes/sec)

Can you please remove use of the zpool entirely (e.g. zpool destroy
tank) and do a write test to each disk itself?  E.g.:

dd if=/dev/zero of=/dev/ad8 bs=64k count=1000000
dd if=/dev/zero of=/dev/ad10 bs=64k count=1000000
dd if=/dev/zero of=/dev/ad12 bs=64k count=1000000

I don't recommend using large block sizes (e.g. bs=1M, bs=3M).

If all of the above dds show good/decent throughput, then there's
something strange going on with ZFS.  If this is the case, I would
recommend filing a PR and posting to freebsd-fs about the problem,
pointing folks to this thread.

If all of the dds show bad throughput, then could you please do the
following:

- Provide vmstat -i output
- Install ports/sysutils/smartmontools and run smartctl -a /dev/ad8,
  smartctl -a /dev/ad10, and smartctl -a /dev/ad12

If only one of the dds shows bad throughput, then please:

- Install ports/sysutils/smartmontools and run smartctl -a /dev/XXX,
  where XXX is the disk which has bad throughput
- Try making a ZFS pool with all 3 disks, but then do "zpool offline
  tank XXX" and then re-attempt the following dd:
  dd if=/dev/zero of=/tank/test.zero bs=64k count=1000000
  And see what throughput looks like.

Thanks.

-- 
| Jeremy Chadwick                                   jdc@parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100805061959.GA92106>