* multiple block devices question @ 2014-07-02 19:42 Yuyang (Alex) Wang 2014-07-02 19:50 ` Jens Axboe 0 siblings, 1 reply; 12+ messages in thread From: Yuyang (Alex) Wang @ 2014-07-02 19:42 UTC (permalink / raw) To: fio hi all, I am using FIO (2.1.7) to profile block level performance of multiple RAID devices. (see config file below). The test is done on a capable 16-core server. With a sigle raid device, I am getting roughly 1.4GB/s, with two devices in place, I am still getting around 1.4GB/s, which is weird. Another in-house developed benchmark tool, running SINGLE-thread suggested we can almost double. I could get double the performance through FIO by configuring two jobs, with each job handling one device only. However, it still puzzles me as to why a single process FIO can't drive the performance of two devices. Did I do anything wrong as to the configure file? Thanks Alex. [globals] rw=write ioengine=libaio iodepth=16 direct=1 blocksize=1m runtime=30 [devices] filename=/dev/mapper/raid-0 filename=/dev/mapper/raid-1 ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: multiple block devices question 2014-07-02 19:42 multiple block devices question Yuyang (Alex) Wang @ 2014-07-02 19:50 ` Jens Axboe 2014-07-02 20:36 ` Yuyang (Alex) Wang 0 siblings, 1 reply; 12+ messages in thread From: Jens Axboe @ 2014-07-02 19:50 UTC (permalink / raw) To: Yuyang (Alex) Wang, fio On 07/02/2014 01:42 PM, Yuyang (Alex) Wang wrote: > hi all, > > I am using FIO (2.1.7) to profile block level performance of multiple > RAID devices. (see config file below). The test is done on a capable > 16-core server. With a sigle raid device, I am getting roughly > 1.4GB/s, with two devices in place, I am still getting around 1.4GB/s, > which is weird. Another in-house developed benchmark tool, running > SINGLE-thread suggested we can almost double. I could get double the > performance through FIO by configuring two jobs, with each job > handling one device only. However, it still puzzles me as to why a > single process FIO can't drive the performance of two devices. Did I > do anything wrong as to the configure file? > > Thanks > > Alex. > > > [globals] > > rw=write > ioengine=libaio > iodepth=16 > direct=1 > blocksize=1m > runtime=30 > > [devices] > filename=/dev/mapper/raid-0 > filename=/dev/mapper/raid-1 You are overwriting filename here, hence running with just one device. -- Jens Axboe ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: multiple block devices question 2014-07-02 19:50 ` Jens Axboe @ 2014-07-02 20:36 ` Yuyang (Alex) Wang 2014-07-02 23:38 ` Carl Zwanzig 2014-07-03 18:12 ` Jeff Moyer 0 siblings, 2 replies; 12+ messages in thread From: Yuyang (Alex) Wang @ 2014-07-02 20:36 UTC (permalink / raw) To: Jens Axboe; +Cc: fio Jens, thanks for the reply. I also tried the following as the HOWTO suggested, and getting similar results [devices] filename=/dev/mapper/raid0:/dev/mapper/raid1 This may be silly part on me misreading the manual, what's correct way of specifying multiple devices? thanks Alex On Wed, Jul 2, 2014 at 3:50 PM, Jens Axboe <axboe@kernel.dk> wrote: > On 07/02/2014 01:42 PM, Yuyang (Alex) Wang wrote: >> hi all, >> >> I am using FIO (2.1.7) to profile block level performance of multiple >> RAID devices. (see config file below). The test is done on a capable >> 16-core server. With a sigle raid device, I am getting roughly >> 1.4GB/s, with two devices in place, I am still getting around 1.4GB/s, >> which is weird. Another in-house developed benchmark tool, running >> SINGLE-thread suggested we can almost double. I could get double the >> performance through FIO by configuring two jobs, with each job >> handling one device only. However, it still puzzles me as to why a >> single process FIO can't drive the performance of two devices. Did I >> do anything wrong as to the configure file? >> >> Thanks >> >> Alex. >> >> >> [globals] >> >> rw=write >> ioengine=libaio >> iodepth=16 >> direct=1 >> blocksize=1m >> runtime=30 >> >> [devices] >> filename=/dev/mapper/raid-0 >> filename=/dev/mapper/raid-1 > > You are overwriting filename here, hence running with just one device. > > -- > Jens Axboe > ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: multiple block devices question 2014-07-02 20:36 ` Yuyang (Alex) Wang @ 2014-07-02 23:38 ` Carl Zwanzig 2014-07-03 17:28 ` Yuyang (Alex) Wang 2014-07-03 18:12 ` Jeff Moyer 1 sibling, 1 reply; 12+ messages in thread From: Carl Zwanzig @ 2014-07-02 23:38 UTC (permalink / raw) To: Yuyang (Alex) Wang, Jens Axboe; +Cc: fio@vger.kernel.org > From: fio-owner@vger.kernel.org [mailto:fio-owner@vger.kernel.org] On > Behalf Of Yuyang (Alex) Wang > Sent: Wednesday, July 02, 2014 1:36 PM > I also tried the following as the HOWTO suggested, and getting similar > results > [devices] > filename=/dev/mapper/raid0:/dev/mapper/raid1 I specify them as separate jobs: [devices0] filename=/dev/mapper/raid0 [devices1] filename=/dev/mapper/raid1 without the "stonewall" directive, the jobs will run simultaneously. z! ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: multiple block devices question 2014-07-02 23:38 ` Carl Zwanzig @ 2014-07-03 17:28 ` Yuyang (Alex) Wang 2014-07-03 17:45 ` David Nellans 0 siblings, 1 reply; 12+ messages in thread From: Yuyang (Alex) Wang @ 2014-07-03 17:28 UTC (permalink / raw) To: Carl Zwanzig; +Cc: Jens Axboe, fio@vger.kernel.org Carl, Specifying them as separate jobs will do what I expect. However, in this case, I am seeking to know how much performance and how many devices can a __single__ FIO process can drive. If my above configuration is correct, then, for some reason, the single process doesn't increase with more devices at its disposal, not as I have seen from another benchmark tool - which is puzzling. I am curious to understand why. Best, A. On Wed, Jul 2, 2014 at 7:38 PM, Carl Zwanzig <cpz@coraid.com> wrote: >> From: fio-owner@vger.kernel.org [mailto:fio-owner@vger.kernel.org] On >> Behalf Of Yuyang (Alex) Wang >> Sent: Wednesday, July 02, 2014 1:36 PM > >> I also tried the following as the HOWTO suggested, and getting similar >> results >> [devices] >> filename=/dev/mapper/raid0:/dev/mapper/raid1 > > I specify them as separate jobs: > [devices0] > filename=/dev/mapper/raid0 > [devices1] > filename=/dev/mapper/raid1 > > without the "stonewall" directive, the jobs will run simultaneously. > > z! > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: multiple block devices question 2014-07-03 17:28 ` Yuyang (Alex) Wang @ 2014-07-03 17:45 ` David Nellans 2014-07-03 17:52 ` Yuyang (Alex) Wang 0 siblings, 1 reply; 12+ messages in thread From: David Nellans @ 2014-07-03 17:45 UTC (permalink / raw) To: Yuyang (Alex) Wang, Carl Zwanzig; +Cc: Jens Axboe, fio@vger.kernel.org On 07/03/2014 12:28 PM, Yuyang (Alex) Wang wrote: > Carl, > > Specifying them as separate jobs will do what I expect. However, in > this case, I am seeking to know how much performance and how many > devices can a __single__ FIO process can drive. If my above > configuration is correct, then, for some reason, the single process > doesn't increase with more devices at its disposal, not as I have seen > from another benchmark tool - which is puzzling. I am curious to > understand why. > > Best, > > A. If you want to benchmark fio throughput or the block layer, not your actual raid array, then use a ramdisk. There are lots of flash devices out there now which will push far more than 1.4GB/s from a single device, rest assured fio isn't your limitation here. 1.4 GB/s with 1M block sizes isn't even 2k IOPS. fio pushes 500k IOPS through the block layer without issue, its not your limiting factor. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: multiple block devices question 2014-07-03 17:45 ` David Nellans @ 2014-07-03 17:52 ` Yuyang (Alex) Wang 0 siblings, 0 replies; 12+ messages in thread From: Yuyang (Alex) Wang @ 2014-07-03 17:52 UTC (permalink / raw) To: David Nellans; +Cc: Carl Zwanzig, Jens Axboe, fio@vger.kernel.org I get it and agree with you that FIO shouldn't be the limiting factor, but I don't get it why I am not getting sensible numbers when I increase the number of devices. Apparently, I am only interested in actual throughput FIO can drive my raid array, rather than ramdisk in this case. Thanks A. On Thu, Jul 3, 2014 at 1:45 PM, David Nellans <david@nellans.org> wrote: > On 07/03/2014 12:28 PM, Yuyang (Alex) Wang wrote: >> >> Carl, >> >> Specifying them as separate jobs will do what I expect. However, in >> this case, I am seeking to know how much performance and how many >> devices can a __single__ FIO process can drive. If my above >> configuration is correct, then, for some reason, the single process >> doesn't increase with more devices at its disposal, not as I have seen >> from another benchmark tool - which is puzzling. I am curious to >> understand why. >> >> Best, >> >> A. > > If you want to benchmark fio throughput or the block layer, not your actual > raid array, > then use a ramdisk. There are lots of flash devices out there now which > will push far > more than 1.4GB/s from a single device, rest assured fio isn't your > limitation here. > 1.4 GB/s with 1M block sizes isn't even 2k IOPS. fio pushes 500k IOPS > through the block layer > without issue, its not your limiting factor. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: multiple block devices question 2014-07-02 20:36 ` Yuyang (Alex) Wang 2014-07-02 23:38 ` Carl Zwanzig @ 2014-07-03 18:12 ` Jeff Moyer 2014-07-03 18:21 ` Hinson, Roger 2014-07-03 18:22 ` Yuyang (Alex) Wang 1 sibling, 2 replies; 12+ messages in thread From: Jeff Moyer @ 2014-07-03 18:12 UTC (permalink / raw) To: Yuyang (Alex) Wang; +Cc: Jens Axboe, fio "Yuyang (Alex) Wang" <yyalex.wang@gmail.com> writes: > Jens, thanks for the reply. > > I also tried the following as the HOWTO suggested, and getting similar results > [devices] > filename=/dev/mapper/raid0:/dev/mapper/raid1 > > > This may be silly part on me misreading the manual, what's correct way > of specifying multiple devices? That looks ok to me. What happens if you double your queue depth? Cheers, Jeff ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: multiple block devices question 2014-07-03 18:12 ` Jeff Moyer @ 2014-07-03 18:21 ` Hinson, Roger 2014-07-03 18:31 ` Yuyang (Alex) Wang 2014-07-03 18:22 ` Yuyang (Alex) Wang 1 sibling, 1 reply; 12+ messages in thread From: Hinson, Roger @ 2014-07-03 18:21 UTC (permalink / raw) To: Jeff Moyer, Yuyang (Alex) Wang; +Cc: Jens Axboe, fio@vger.kernel.org It doesn't work properly with 2.1.7. it only grabs the first name in filename. I switched to 2.1.10 to fix that problem for me. Roger -----Original Message----- From: fio-owner@vger.kernel.org [mailto:fio-owner@vger.kernel.org] On Behalf Of Jeff Moyer Sent: Thursday, July 03, 2014 11:12 AM To: Yuyang (Alex) Wang Cc: Jens Axboe; fio@vger.kernel.org Subject: Re: multiple block devices question "Yuyang (Alex) Wang" <yyalex.wang@gmail.com> writes: > Jens, thanks for the reply. > > I also tried the following as the HOWTO suggested, and getting similar > results [devices] > filename=/dev/mapper/raid0:/dev/mapper/raid1 > > > This may be silly part on me misreading the manual, what's correct way > of specifying multiple devices? That looks ok to me. What happens if you double your queue depth? Cheers, Jeff -- To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: multiple block devices question 2014-07-03 18:21 ` Hinson, Roger @ 2014-07-03 18:31 ` Yuyang (Alex) Wang 0 siblings, 0 replies; 12+ messages in thread From: Yuyang (Alex) Wang @ 2014-07-03 18:31 UTC (permalink / raw) To: Hinson, Roger; +Cc: Jeff Moyer, Jens Axboe, fio@vger.kernel.org Kudos Roger, that solves the problem. I didn't realize one release behind, the filename parsing has this bug in it. Thanks! A. On Thu, Jul 3, 2014 at 2:21 PM, Hinson, Roger <Roger_Hinson@intuit.com> wrote: > It doesn't work properly with 2.1.7. it only grabs the first name in filename. I switched to 2.1.10 to fix that problem for me. > > Roger > > > -----Original Message----- > From: fio-owner@vger.kernel.org [mailto:fio-owner@vger.kernel.org] On Behalf Of Jeff Moyer > Sent: Thursday, July 03, 2014 11:12 AM > To: Yuyang (Alex) Wang > Cc: Jens Axboe; fio@vger.kernel.org > Subject: Re: multiple block devices question > > "Yuyang (Alex) Wang" <yyalex.wang@gmail.com> writes: > >> Jens, thanks for the reply. >> >> I also tried the following as the HOWTO suggested, and getting similar >> results [devices] >> filename=/dev/mapper/raid0:/dev/mapper/raid1 >> >> >> This may be silly part on me misreading the manual, what's correct way >> of specifying multiple devices? > > That looks ok to me. What happens if you double your queue depth? > > Cheers, > Jeff > -- > To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: multiple block devices question 2014-07-03 18:12 ` Jeff Moyer 2014-07-03 18:21 ` Hinson, Roger @ 2014-07-03 18:22 ` Yuyang (Alex) Wang 2014-07-03 18:39 ` Jens Axboe 1 sibling, 1 reply; 12+ messages in thread From: Yuyang (Alex) Wang @ 2014-07-03 18:22 UTC (permalink / raw) To: Jeff Moyer; +Cc: Jens Axboe, fio@vger.kernel.org hi Jeff, iodepth doesn't seem to make difference - see output (this is with two raid array) devices: (g=0): rw=write, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=32 fio-2.1.7 Starting 1 process Jobs: 1 (f=1): [W] [100.0% done] [0KB/1227MB/0KB /s] [0/1227/0 iops] [eta 00m:00s] devices: (groupid=0, jobs=1): err= 0: pid=91658: Thu Jul 3 14:20:42 2014 write: io=41368MB, bw=1376.7MB/s, iops=1376, runt= 30050msec slat (usec): min=104, max=8419, avg=328.49, stdev=63.54 clat (usec): min=4, max=114758, avg=22883.96, stdev=8585.56 lat (msec): min=2, max=115, avg=23.21, stdev= 8.58 clat percentiles (msec): | 1.00th=[ 11], 5.00th=[ 12], 10.00th=[ 12], 20.00th=[ 21], | 30.00th=[ 23], 40.00th=[ 23], 50.00th=[ 23], 60.00th=[ 25], | 70.00th=[ 25], 80.00th=[ 26], 90.00th=[ 28], 95.00th=[ 35], | 99.00th=[ 61], 99.50th=[ 68], 99.90th=[ 80], 99.95th=[ 89], | 99.99th=[ 110] bw (MB /s): min= 926, max= 2790, per=100.00%, avg=1376.74, stdev=420.52 lat (usec) : 10=0.01% lat (msec) : 4=0.03%, 10=0.39%, 20=19.28%, 50=78.27%, 100=1.99% lat (msec) : 250=0.04% cpu : usr=30.09%, sys=17.91%, ctx=19628, majf=0, minf=26 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=99.9%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0% issued : total=r=0/w=41368/d=0, short=r=0/w=0/d=0 latency : target=0, window=0, percentile=100.00%, depth=32 Run status group 0 (all jobs): WRITE: io=41368MB, aggrb=1376.7MB/s, minb=1376.7MB/s, maxb=1376.7MB/s, mint=30050msec, maxt=30050msec On Thu, Jul 3, 2014 at 2:12 PM, Jeff Moyer <jmoyer@redhat.com> wrote: > "Yuyang (Alex) Wang" <yyalex.wang@gmail.com> writes: > >> Jens, thanks for the reply. >> >> I also tried the following as the HOWTO suggested, and getting similar results >> [devices] >> filename=/dev/mapper/raid0:/dev/mapper/raid1 >> >> >> This may be silly part on me misreading the manual, what's correct way >> of specifying multiple devices? > > That looks ok to me. What happens if you double your queue depth? > > Cheers, > Jeff ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: multiple block devices question 2014-07-03 18:22 ` Yuyang (Alex) Wang @ 2014-07-03 18:39 ` Jens Axboe 0 siblings, 0 replies; 12+ messages in thread From: Jens Axboe @ 2014-07-03 18:39 UTC (permalink / raw) To: Yuyang (Alex) Wang, Jeff Moyer; +Cc: fio@vger.kernel.org On 07/03/2014 12:22 PM, Yuyang (Alex) Wang wrote: > hi Jeff, > > iodepth doesn't seem to make difference - see output (this is with two > raid array) > > devices: (g=0): rw=write, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=32 > fio-2.1.7 > Starting 1 process > Jobs: 1 (f=1): [W] [100.0% done] [0KB/1227MB/0KB /s] [0/1227/0 iops] > [eta 00m:00s] > devices: (groupid=0, jobs=1): err= 0: pid=91658: Thu Jul 3 14:20:42 2014 > write: io=41368MB, bw=1376.7MB/s, iops=1376, runt= 30050msec > slat (usec): min=104, max=8419, avg=328.49, stdev=63.54 > clat (usec): min=4, max=114758, avg=22883.96, stdev=8585.56 > lat (msec): min=2, max=115, avg=23.21, stdev= 8.58 > clat percentiles (msec): > | 1.00th=[ 11], 5.00th=[ 12], 10.00th=[ 12], 20.00th=[ 21], > | 30.00th=[ 23], 40.00th=[ 23], 50.00th=[ 23], 60.00th=[ 25], > | 70.00th=[ 25], 80.00th=[ 26], 90.00th=[ 28], 95.00th=[ 35], > | 99.00th=[ 61], 99.50th=[ 68], 99.90th=[ 80], 99.95th=[ 89], > | 99.99th=[ 110] > bw (MB /s): min= 926, max= 2790, per=100.00%, avg=1376.74, stdev=420.52 > lat (usec) : 10=0.01% > lat (msec) : 4=0.03%, 10=0.39%, 20=19.28%, 50=78.27%, 100=1.99% > lat (msec) : 250=0.04% > cpu : usr=30.09%, sys=17.91%, ctx=19628, majf=0, minf=26 > IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=99.9%, >=64=0.0% > submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% > complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0% > issued : total=r=0/w=41368/d=0, short=r=0/w=0/d=0 > latency : target=0, window=0, percentile=100.00%, depth=32 > > Run status group 0 (all jobs): > WRITE: io=41368MB, aggrb=1376.7MB/s, minb=1376.7MB/s, > maxb=1376.7MB/s, mint=30050msec, maxt=30050msec Just tested on a box here, for comparison. It has 16 SCSI disks, each does roughly 160MB/sec in bandwidth. Adding disks scales bw linearly for me, no problems observed. You're submission latency is fairly low, so it should not be a problem with fio getting stuck in dm on submission. usr+sys is pretty high though, for such a light workload. -- Jens Axboe ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2014-07-03 18:39 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-07-02 19:42 multiple block devices question Yuyang (Alex) Wang 2014-07-02 19:50 ` Jens Axboe 2014-07-02 20:36 ` Yuyang (Alex) Wang 2014-07-02 23:38 ` Carl Zwanzig 2014-07-03 17:28 ` Yuyang (Alex) Wang 2014-07-03 17:45 ` David Nellans 2014-07-03 17:52 ` Yuyang (Alex) Wang 2014-07-03 18:12 ` Jeff Moyer 2014-07-03 18:21 ` Hinson, Roger 2014-07-03 18:31 ` Yuyang (Alex) Wang 2014-07-03 18:22 ` Yuyang (Alex) Wang 2014-07-03 18:39 ` Jens Axboe
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox