From owner-freebsd-stable@FreeBSD.ORG Sun Feb 14 17:42:38 2010 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0102F106568F for ; Sun, 14 Feb 2010 17:42:38 +0000 (UTC) (envelope-from jon@witchspace.com) Received: from queueout03-winn.ispmail.ntl.com (queueout03-winn.ispmail.ntl.com [81.103.221.33]) by mx1.freebsd.org (Postfix) with ESMTP id 776598FC18 for ; Sun, 14 Feb 2010 17:42:37 +0000 (UTC) Received: from aamtaout01-winn.ispmail.ntl.com ([81.103.221.35]) by mtaout01-winn.ispmail.ntl.com (InterMail vM.7.08.04.00 201-2186-134-20080326) with ESMTP id <20100214172831.VAWB4204.mtaout01-winn.ispmail.ntl.com@aamtaout01-winn.ispmail.ntl.com> for ; Sun, 14 Feb 2010 17:28:31 +0000 Received: from witchspace.com ([86.28.98.4]) by aamtaout01-winn.ispmail.ntl.com (InterMail vG.2.02.00.01 201-2161-120-102-20060912) with SMTP id <20100214172831.GVYI13254.aamtaout01-winn.ispmail.ntl.com@witchspace.com> for ; Sun, 14 Feb 2010 17:28:31 +0000 Received: (qmail 8773 invoked from network); 14 Feb 2010 16:28:14 -0000 Received: from unknown (HELO core.home) (192.168.0.3) by 192.168.0.100 with SMTP; 14 Feb 2010 16:28:14 -0000 From: Jonathan Belson Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Date: Sun, 14 Feb 2010 17:28:28 +0000 Message-Id: To: freebsd-stable@freebsd.org Mime-Version: 1.0 (Apple Message framework v1077) X-Mailer: Apple Mail (2.1077) X-Cloudmark-Analysis: v=1.1 cv=1ggfb5FlKZQUfF3vzm9UBYZ2uTfLsbs/8dSljwg5+mE= c=1 sm=0 a=VnTOQO56TaHgvNHnZ8wA:9 a=vrz9d7kaIy6HQphQfU4A:7 a=WUp0O3NPq-XWB2UcegexfICub5gA:4 a=HpAAvcLHHh0Zw7uRqdWCyQ==:117 Subject: More zfs benchmarks X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Feb 2010 17:42:38 -0000 Hiya After reading some earlier threads about zfs performance, I decided to = test my own server. I found the results rather surprising... The machine is a Dell SC440, dual core 2GHz E2180, 2GB of RAM and ICH7 = SATA300 controller. There are three Hitachi 500GB drives = (HDP725050GLA360) in a raidz1 configuration (version 13). I'm running = amd64 7.2-STABLE from 14th Jan. First of all, I tried creating a 200MB file on / (the only non-zfs = partition): # dd if=3D/dev/zero of=3D/root/zerofile.000 bs=3D1M count=3D200 200+0 records in 200+0 records out 209715200 bytes transferred in 6.158355 secs (34053769 bytes/sec) # dd if=3D/dev/zero of=3D/root/zerofile.000 bs=3D1M count=3D200 200+0 records in 200+0 records out 209715200 bytes transferred in 5.423107 secs (38670674 bytes/sec) # dd if=3D/dev/zero of=3D/root/zerofile.000 bs=3D1M count=3D200 200+0 records in 200+0 records out 209715200 bytes transferred in 6.113258 secs (34304982 bytes/sec) Next, I tried creating a 200MB file on a zfs partition: # dd if=3D/dev/zero of=3D/tank/test/zerofile.000 bs=3D1M count=3D200 200+0 records in 200+0 records out 209715200 bytes transferred in 58.540571 secs (3582391 bytes/sec) # dd if=3D/dev/zero of=3D/tank/test/zerofile.000 bs=3D1M count=3D200 200+0 records in 200+0 records out 209715200 bytes transferred in 46.867240 secs (4474665 bytes/sec) # dd if=3D/dev/zero of=3D/tank/test/zerofile.000 bs=3D1M count=3D200 200+0 records in 200+0 records out 209715200 bytes transferred in 21.145221 secs (9917853 bytes/sec) # dd if=3D/dev/zero of=3D/tank/test/zerofile.000 bs=3D1M count=3D200 200+0 records in 200+0 records out 209715200 bytes transferred in 19.387938 secs (10816787 bytes/sec) # dd if=3D/dev/zero of=3D/tank/test/zerofile.000 bs=3D1M count=3D200 200+0 records in 200+0 records out 209715200 bytes transferred in 21.378161 secs (9809787 bytes/sec) # dd if=3D/dev/zero of=3D/tank/test/zerofile.000 bs=3D1M count=3D200 200+0 records in 200+0 records out 209715200 bytes transferred in 23.774958 secs (8820844 bytes/sec) Ouch! Ignoring the first result, that's still over three times slower = than the non-zfs test. With a 2GB test file: # dd if=3D/dev/zero of=3D/tank/test/zerofile.000 bs=3D1M count=3D2000 2000+0 records in 2000+0 records out 2097152000 bytes transferred in 547.901945 secs (3827605 bytes/sec) # dd if=3D/dev/zero of=3D/tank/test/zerofile.000 bs=3D1M count=3D2000 2000+0 records in 2000+0 records out 2097152000 bytes transferred in 595.052017 secs (3524317 bytes/sec) # dd if=3D/dev/zero of=3D/tank/test/zerofile.000 bs=3D1M count=3D2000 2000+0 records in 2000+0 records out 2097152000 bytes transferred in 517.326470 secs (4053827 bytes/sec) Even worse :-( Reading 2GB from a raw device: dd if=3D/dev/ad4s1a of=3D/dev/null bs=3D1M count=3D2000 1024+0 records in 1024+0 records out 1073741824 bytes transferred in 13.914145 secs (77169084 bytes/sec) =20 Reading 2GB from a zfs partition (unmounting each time): dd if=3D/tank/test/zerofile.000 of=3D/dev/null bs=3D1M count=3D2000 2000+0 records in 2000+0 records out 2097152000 bytes transferred in 29.905155 secs (70126772 bytes/sec) dd if=3D/tank/test/zerofile.000 of=3D/dev/null bs=3D1M count=3D2000 2000+0 records in 2000+0 records out 2097152000 bytes transferred in 32.557361 secs (64414066 bytes/sec) dd if=3D/tank/test/zerofile.000 of=3D/dev/null bs=3D1M count=3D2000 2000+0 records in 2000+0 records out 2097152000 bytes transferred in 34.137874 secs (61431828 bytes/sec) For reading, there seems to be much less of a disparity in performance. I notice that one drive is on atapci0 and the other two are on atapci1, = but surely it wouldn't make this much of a difference to write speeds? Cheers, --Jon