Date: Fri, 21 Sep 2007 19:05:07 +0200 From: Pawel Jakub Dawidek <pjd@FreeBSD.org> To: ?????? ??????? <softsearch@gmail.com> Cc: Pawel Jakub Dawidek <freebsd-geom@freebsd.org> Subject: Re: raidtest for zfs Message-ID: <20070921170506.GB9445@garage.freebsd.pl> In-Reply-To: <dcf881c30709210933s6d92cb2dh830be87fb067037c@mail.gmail.com> References: <dcf881c30709210406j59603347vba8494eb5105932c@mail.gmail.com> <20070921143318.GC5690@garage.freebsd.pl> <dcf881c30709210933s6d92cb2dh830be87fb067037c@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--tjCHc7DPkfUGtrlw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Sep 21, 2007 at 08:33:47PM +0400, ?????? ??????? wrote: > > > How to run raidtest ( > > > http://www.freebsdsoftware.org/benchmarks/raidtest.html ) on zfs? > > > > > > diskinfo dos'n work. > > > > raidtest is for block device testing. If you want to test ZFS with it, > > you need to create ZVOL with 'zfs create -V' command, eg. > > > > # zpool create tank raidz da{0,1,2,3,4} > > # zfs create -V 100g tank/vol > > # diskinfo -v /dev/zvol/tank/vol >=20 >=20 >=20 > I get strange and fantastic results: >=20 > > raidtest genfile -s 209715200 -S 512 -n 50000 -r -f > File raidtest.data generated. > Number of READ requests: 50000. > Number of WRITE requests: 0. > Number of bytes to transmit: 3279956992. >=20 > > raidtest test -d /dev/zvol/tank/vol -n 10 > Read 50000 requests from raidtest.data. > Number of READ requests: 50000. > Number of WRITE requests: 0. > Number of bytes to transmit: 3279956992. > Number of processes: 10. > Bytes per second: 245146813 > Requests per second: 3737 > ^^^^^ - too big! >=20 > > raidtest genfile -s 209715200 -S 512 -n 50000 -f > File raidtest.data generated. > Number of READ requests: 25046. > Number of WRITE requests: 24954. > Number of bytes to transmit: 3311506944. >=20 > > raidtest test -d /dev/zvol/tank/vol -n 10 > Read 50000 requests from raidtest.data. > Number of READ requests: 25046. > Number of WRITE requests: 24954. > Number of bytes to transmit: 3311506944. > Number of processes: 10. > Bytes per second: 195043585 > Requests per second: 2944 > ^^^^^ - too big! >=20 >=20 > The real results is: >=20 > > raidtest test -d /dev/raid3/g3 -n 10 > Read 50000 requests from raidtest.data. > Number of READ requests: 50000. > Number of WRITE requests: 0. > Number of bytes to transmit: 3316146176. > Number of processes: 10. > Bytes per second: 11398078 > Requests per second: 171 >=20 > What is wrong? >=20 > How to run raidtest correctly on /dev/zvol/tank/vol ? Ok. Here it how it works. ZFS has this COW model. It doesn't preallocate space. When you read blocks you never written, it won't touch the disks, but will just return zeros. To properly test read performance, you first need to write, so you should first run raidtest with -w flag, then zpool export/import your pool to remove cache and then retest with or without -r flag. --=20 Pawel Jakub Dawidek http://www.wheel.pl pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --tjCHc7DPkfUGtrlw Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQFG8/nCForvXbEpPzQRAp9iAJ9iGXN7TtJRVuYhF/g8Sfr9HHxDkQCg1Qav 4y3k9cf5w4OQ3UnuX0fcxN0= =a6vi -----END PGP SIGNATURE----- --tjCHc7DPkfUGtrlw--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070921170506.GB9445>