From nobody@FreeBSD.org  Sat Aug 15 14:15:08 2009
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 94EA71065691
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 15 Aug 2009 14:15:08 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 83FE18FC72
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 15 Aug 2009 14:15:08 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n7FEF7Bg037396
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 15 Aug 2009 14:15:07 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id n7FEF7Yk037395;
	Sat, 15 Aug 2009 14:15:07 GMT
	(envelope-from nobody)
Message-Id: <200908151415.n7FEF7Yk037395@www.freebsd.org>
Date: Sat, 15 Aug 2009 14:15:07 GMT
From: Oles Hnatkevych <don_oles@able.com.ua>
To: freebsd-gnats-submit@FreeBSD.org
Subject: gmirror split does not improve performance
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         137797
>Category:       kern
>Synopsis:       gmirror(8): gmirror split does not improve performance
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-geom
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Aug 15 14:20:06 UTC 2009
>Closed-Date:    Mon Aug 17 05:21:41 UTC 2009
>Last-Modified:  Mon Aug 17 05:21:41 UTC 2009
>Originator:     Oles Hnatkevych
>Release:        FreeBSD 7.2
>Organization:
>Environment:
>Description:
Mirror is created with gmirror on ad8 and ad10
ad8: 476940MB <Seagate ST3500630NS 3.AEK> at ata4-master SATA150
ad10: 476940MB <Seagate ST3500630NS 3.AEK> at ata5-master SATA150
Geom name: ar1
State: COMPLETE
Components: 2
Balance: split
Slice: 4096
Flags: NONE
GenID: 0
SyncID: 1
mirror/ar1  COMPLETE  ad8
                      ad10
The split algorithm does not improve any performance. Even simple dd with block size 1M has the same speed as a single drive, while two dd's on singe drive run simultaneously proove that SATA throughput is not a bottleneck.

>How-To-Repeat:
gmirror label ar1 ad8 ad10
dd if=/dev/ad8 of=/dev/null bs=1M count=500
dd if=/dev/mirror/ar1 of=/dev/null bs=1M count=500
both give the same speed (around 80MB/s for Seagate 500GB SATA drives)

but 
dd if=/dev/ad8 of=/dev/null bs=1M count=500 & dd if=/dev/ad10 of=/dev/null bs=1M count=500
show that in parallel they do provide data faster.

BTW, the performance of a RAID1 created with the atacontrol is a bit better then gmirror.
>Fix:


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-geom 
Responsible-Changed-By: gavin 
Responsible-Changed-When: Sat Aug 15 20:45:38 UTC 2009 
Responsible-Changed-Why:  
Over to maintainer(s) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=137797 
State-Changed-From-To: open->closed 
State-Changed-By: pjd 
State-Changed-When: pon 17 sie 2009 05:18:25 UTC 
State-Changed-Why:  
Note that sequential read from two local SATA disks is not the only possible 
workload. 
Split mode was implemented there more as an example, although the idea was that 
it could be used when disks are behind two slow links (eg. accessible over slow 
network). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=137797 
>Unformatted:
