Date: Fri, 23 Jun 2006 19:35:45 +0300 From: Volodymyr Kostyrko <arcade@synergetica.dn.ua> To: "Justin T. Gibbs" <gibbs@scsiguy.com> Cc: freebsd-scsi@freebsd.org Subject: Re: ahd(4) poor performance Message-ID: <449C1861.3080902@synergetica.dn.ua> In-Reply-To: <5272604BA34A45926DFA0D2F@[10.0.0.22]> References: <4499B748.6040805@synergetica.dn.ua> <90D11403BD2140875BFEB24D@[10.0.0.22]> <449C0E34.3080005@synergetica.dn.ua> <5272604BA34A45926DFA0D2F@[10.0.0.22]>
next in thread | previous in thread | raw e-mail | index | archive | help
Justin T. Gibbs пишет: > dd is synchronous. You'd need to aggregate the throughput of several dd > operations > to see the impact of overlapped commands. Well, I'm testing system throughput also by: ab -n1000 -c20 "http://somehost/test.php" Where test.php each time INSERT's a line into database. It works way faster on ATA and even faster on this machine under Linux. Minding dd I've tried to do the following: <file name='test.sh'> dd if=/dev/zero of=somefile1 count=20480& dd if=/dev/zero of=somefile2 count=20480& dd if=/dev/zero of=somefile3 count=20480& dd if=/dev/zero of=somefile4 count=20480& dd if=/dev/zero of=somefile5 count=20480& dd if=/dev/zero of=somefile6 count=20480& dd if=/dev/zero of=somefile7 count=20480& dd if=/dev/zero of=somefile8 count=20480& wait </file> And it gives me: 20480+0 records in 20480+0 records out 10485760 bytes transferred in 3.040705 secs (3448463 bytes/sec) 20480+0 records in 20480+0 records out 10485760 bytes transferred in 3.066335 secs (3419639 bytes/sec) 20480+0 records in 20480+0 records out 10485760 bytes transferred in 3.124907 secs (3355543 bytes/sec) 20480+0 records in 20480+0 records out 10485760 bytes transferred in 3.233639 secs (3242712 bytes/sec) 20480+0 records in 20480+0 records out 10485760 bytes transferred in 3.286119 secs (3190925 bytes/sec) 20480+0 records in 20480+0 records out 10485760 bytes transferred in 3.377989 secs (3104143 bytes/sec) 20480+0 records in 20480+0 records out 10485760 bytes transferred in 3.434316 secs (3053231 bytes/sec) 20480+0 records in 20480+0 records out 10485760 bytes transferred in 3.448736 secs (3040465 bytes/sec) The values are quite precise for any queue depth starting from 2 and above. Or how many threads should I start? > > -- > Justin > > --On Friday, June 23, 2006 6:52 PM +0300 Volodymyr Kostyrko > <arcade@synergetica.dn.ua> wrote: > >> Justin T. Gibbs ?????: >>> --On Thursday, June 22, 2006 12:16 AM +0300 Volodymyr Kostyrko >>> <arcade@synergetica.dn.ua> wrote: >>> >>>> Hi all. >>>> >>>> I have: >>>> >>>> ahd0: <Adaptec (Dell OEM) 39320 Ultra320 SCSI adapter> port >>>> 0xdc00-0xdcff,0xd800-0xd8ff mem 0xdfbfe000-0xdfbfffff irq 66 at device >>>> 7.0 on pci3 >>>> ahd0: [GIANT-LOCKED] >>>> aic7902: Ultra320 Wide Channel A, SCSI Id=7, PCI-X 101-133Mhz, 512 SCBs >>>> ahd1: <Adaptec (Dell OEM) 39320 Ultra320 SCSI adapter> port >>>> 0xd400-0xd4ff,0xd000-0xd0ff mem 0xdfbfc000-0xdfbfdfff irq 67 at device >>>> 7.1 on pci3 >>>> ahd1: [GIANT-LOCKED] >>>> aic7902: Ultra320 Wide Channel B, SCSI Id=7, PCI-X 101-133Mhz, 512 SCBs >>>> >>>> Booting machine also results in: >>>> >>>> ahd0: Invalid Sequencer interrupt occurred. >>> >>> This error is benign. >>> >>> There have been issues reported with some recent Seagate drives and >>> large queue depths. You may get better performance if you use >>> camcontrol >>> to lower the queue depth to 63 or 32. I believe that 32 is the default >>> used by Linux. >>> >>> -- >>> Justin >> >> Interesting. >> >> By default I have the following: >> >> srv4# camcontrol tags 0:0 -v >> (pass1:ahd0:0:1:0): dev_openings 1 >> (pass1:ahd0:0:1:0): dev_active 0 >> (pass1:ahd0:0:1:0): devq_openings 1 >> (pass1:ahd0:0:1:0): devq_queued 0 >> (pass1:ahd0:0:1:0): held 0 >> (pass1:ahd0:0:1:0): mintags 2 >> (pass1:ahd0:0:1:0): maxtags 255 >> >> Raising this to higher values provides better perfomance: >> >> @1: >> >> > dd if=/dev/zero of=somefile count=20480 >> 20480+0 records in >> 20480+0 records out >> 10485760 bytes transferred in 1.114188 secs (9411123 bytes/sec) >> >> @2: >> >> > dd if=/dev/zero of=somefile count=20480 >> 20480+0 records in >> 20480+0 records out >> 10485760 bytes transferred in 0.402884 secs (26026747 bytes/sec) >> >> Raising it further doesn't help anyway. And it still behaves not so >> fast as Linux. >> >> -- >> [WBR], Arcade. >> > > -- [WBR], Arcade.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?449C1861.3080902>