Flexible I/O Tester development
 help / color / mirror / Atom feed
* Does fio write only 0x00s?
@ 2010-03-15 20:50 Troels Arvin
  2010-03-15 21:22 ` Jens Axboe
  0 siblings, 1 reply; 5+ messages in thread
From: Troels Arvin @ 2010-03-15 20:50 UTC (permalink / raw)
  To: fio

Hello,

I'm benchmarking a new FC-attached storage system which we are bringing 
into production, in order to see if it yields acceptable performance - 
and to have a baseline for potential performance trouble in the future.

One of the tools I'm using is fio, which is certainly great. Especially 
the fact that it includes data regarding latencies, and that it makes it 
easy to have a mix of reads and writes.

Now, compared to an another FC-attached storage system, and compared to 
a local RAID10, the new system yields fio numbers which are extremely 
much better.
This made me have a quick and superficial look into the files which fio 
works with. I seems that the files contain only 0-bytes.

Does fio only write bytes with a single value?
If so: I would be afraid that some kind of 
compression/de-duplication/thin provisioning feature in the storage 
system invalidates the fio results I'm seeing. Is this a valid fear?

-- 
Regards,
Troels Arvin <troels@arvin.dk>
http://troels.arvin.dk/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Does fio write only 0x00s?
  2010-03-15 20:50 Does fio write only 0x00s? Troels Arvin
@ 2010-03-15 21:22 ` Jens Axboe
  2010-03-15 23:19   ` Troels Arvin
  0 siblings, 1 reply; 5+ messages in thread
From: Jens Axboe @ 2010-03-15 21:22 UTC (permalink / raw)
  To: Troels Arvin; +Cc: fio

On Mon, Mar 15 2010, Troels Arvin wrote:
> Hello,
>
> I'm benchmarking a new FC-attached storage system which we are bringing  
> into production, in order to see if it yields acceptable performance -  
> and to have a baseline for potential performance trouble in the future.
>
> One of the tools I'm using is fio, which is certainly great. Especially  
> the fact that it includes data regarding latencies, and that it makes it  
> easy to have a mix of reads and writes.
>
> Now, compared to an another FC-attached storage system, and compared to  
> a local RAID10, the new system yields fio numbers which are extremely  
> much better.
> This made me have a quick and superficial look into the files which fio  
> works with. I seems that the files contain only 0-bytes.
>
> Does fio only write bytes with a single value?
> If so: I would be afraid that some kind of  
> compression/de-duplication/thin provisioning feature in the storage  
> system invalidates the fio results I'm seeing. Is this a valid fear?

By default, fio will at init time randomly fill the buffer of the
allocated IO units. If you are using the sync io engine, then only one
buffer will be allocated and that will be repeatedly written. So yes,
that'll compress very nicely. You can enable refill_buffers=1 and
that'll cause fio to randomly fill it everytime it's submitted instead.
That should effectively disable compression at the storage end.

But you should not be seeing zeroes only. Are you perhaps sparsely
filling a file with random writes, and you are observing the holes?

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Does fio write only 0x00s?
  2010-03-15 21:22 ` Jens Axboe
@ 2010-03-15 23:19   ` Troels Arvin
  2010-03-16  8:05     ` Jens Axboe
  0 siblings, 1 reply; 5+ messages in thread
From: Troels Arvin @ 2010-03-15 23:19 UTC (permalink / raw)
  To: fio

Hello,

On Mar 15, Jens Axboe wrote:
> By default, fio will at init time randomly fill the buffer of the
> allocated IO units. If you are using the sync io engine, then only one
> buffer will be allocated and that will be repeatedly written. So yes,
> that'll compress very nicely.

I'm using libaio. So the data from that shouldn't compress all that much?


> You can enable refill_buffers=1 and
> that'll cause fio to randomly fill it everytime it's submitted instead.
> That should effectively disable compression at the storage end.

Turning refill_buffers on or off doesn't seem to make much of a 
difference when compressing fil's work-file with "gzip -2" (201MB vs 
198MB). But perhaps, "gzip -2" still compreses more than one can expect 
from a storage system?

I'm probably missing something. Here's the job description file I'm 
using (in this case only testing a small amount of I/O; when I was 
testing the storage systems, I used size=10g and six numjobs=6):
===========================================================
[global]
description=Emulation of Intel IOmeter File Server Access Pattern

[iometer]
bssplit=512/10:1k/5:2k/5:4k/60:8k/2:16k/4:32k/4:64k/10
rw=randrw
rwmixread=70
direct=1
size=1g
ioengine=libaio
iodepth=256
refill_buffers=0
===========================================================

-- 
Regards,
Troels Arvin <troels@arvin.dk>
http://troels.arvin.dk/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Does fio write only 0x00s?
  2010-03-15 23:19   ` Troels Arvin
@ 2010-03-16  8:05     ` Jens Axboe
  2010-03-16 11:27       ` Troels Arvin
  0 siblings, 1 reply; 5+ messages in thread
From: Jens Axboe @ 2010-03-16  8:05 UTC (permalink / raw)
  To: Troels Arvin; +Cc: fio

On Tue, Mar 16 2010, Troels Arvin wrote:
> Hello,
>
> On Mar 15, Jens Axboe wrote:
>> By default, fio will at init time randomly fill the buffer of the
>> allocated IO units. If you are using the sync io engine, then only one
>> buffer will be allocated and that will be repeatedly written. So yes,
>> that'll compress very nicely.
>
> I'm using libaio. So the data from that shouldn't compress all that much?

Each buffer used will have different contents, so it'll depend on how
large the file is. If you end up writing the same 256 buffers (in your
case) thousands of time, the output will still be compressible.

>> You can enable refill_buffers=1 and
>> that'll cause fio to randomly fill it everytime it's submitted instead.
>> That should effectively disable compression at the storage end.
>
> Turning refill_buffers on or off doesn't seem to make much of a  
> difference when compressing fil's work-file with "gzip -2" (201MB vs  
> 198MB). But perhaps, "gzip -2" still compreses more than one can expect  
> from a storage system?

Hard to say really, if it's inline compression then perhaps not as
strong, background data-dedup could be a lot stronger.

> I'm probably missing something. Here's the job description file I'm  
> using (in this case only testing a small amount of I/O; when I was  
> testing the storage systems, I used size=10g and six numjobs=6):
> ===========================================================
> [global]
> description=Emulation of Intel IOmeter File Server Access Pattern
>
> [iometer]
> bssplit=512/10:1k/5:2k/5:4k/60:8k/2:16k/4:32k/4:64k/10
> rw=randrw
> rwmixread=70
> direct=1
> size=1g
> ioengine=libaio
> iodepth=256
> refill_buffers=0
> ===========================================================

I think what you are missing is that the random writes will create a
large sparse file. The Output is 10G, and you are doing a lot of reads.
So you could end up writing only 30% of the 10G, the rest would be
sparse holes in the file.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Does fio write only 0x00s?
  2010-03-16  8:05     ` Jens Axboe
@ 2010-03-16 11:27       ` Troels Arvin
  0 siblings, 0 replies; 5+ messages in thread
From: Troels Arvin @ 2010-03-16 11:27 UTC (permalink / raw)
  To: fio

Hello,

Den 16-03-2010 09:05, skrev Jens Axboe:
> I think what you are missing is that the random writes will create a
> large sparse file. The Output is 10G, and you are doing a lot of reads.
> So you could end up writing only 30% of the 10G, the rest would be
> sparse holes in the file.

Yes, that part about the file sparseness was I had to grasp.

Expressed in another way: If I filter out the null-bytes from fio's 
work-file (cat iometer.1.0 | tr -d '\0'), then the remainder doesn't 
compress at all using gzip with default options.

So I'll stop worrying about storage-side compression/de-duplication when 
interpreting fio's results.

Thanks.

-- 
Regards,
Troels Arvin <troels@arvin.dk>
http://troels.arvin.dk/

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-03-16 11:27 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-15 20:50 Does fio write only 0x00s? Troels Arvin
2010-03-15 21:22 ` Jens Axboe
2010-03-15 23:19   ` Troels Arvin
2010-03-16  8:05     ` Jens Axboe
2010-03-16 11:27       ` Troels Arvin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox