What if the parameter for --size option is smaller than the target device?
I resend because the server doesn't ack.
Please ignore the previous, if you receive two. (Please remove from the server)
Hi,
I am writing a test with fio tool (2.0.8) and I am facing a problem.
I just want to submit 512B random write to a block device.
In my case, the size of the device is 2MB and the amount of writes (specified by --size option) is 32MB.
like this (A line from device-mapper-test-suite. Is my command wrong?):
ProcessControl.run("fio --name=test --filename=#{dev.path} --rw=randwrite --ioengine=libaio --direct=1 --size=#{@param[0]}m --bs=512")The problem is, the runtime is too short.
The block device is just a single HDD so, it will be 30sec or so. But it's actually 3sec...
My guess is that fio uses min(device size, param to --size) as the amount of writes here. To investigate it, I increased the size of the device to x10 and saw the runtime gets x10.
My questions are:
1. Is my guess correct?
2. What shall I do to make fio work as I want it to do?
Thanks,
- Akira
Hi,
Quoted 4 lines · Akira Hayakawa
I am writing a test with fio tool (2.0.8) and I am facing a problem.
I just want to submit 512B random write to a block device.
In my case, the size of the device is 2MB and the amount of writes (specified by --size option) is 32MB.
You probably wanted the behaviour of io_limit
(http://git.kernel.dk/?p=fio.git;a=blob;f=HOWTO;h=73e58ff695c3384df30094d6c15ebe9ed615460f;hb=HEAD#l433
) rather than size...
Quoted 7 lines
like this (A line from device-mapper-test-suite. Is my command wrong?):
ProcessControl.run("fio --name=test --filename=#{dev.path} --rw=randwrite --ioengine=libaio --direct=1 --size=#{@param[0]}m --bs=512")The problem is, the runtime is too short.
The block device is just a single HDD so, it will be 30sec or so. But it's actually 3sec...My guess is that fio uses
min(device size, param to --size)as the amount of writes here.
That's correct in this context - size is limiting the last possible block that can be written to (see
http://git.kernel.dk/?p=fio.git;a=blob;f=HOWTO;h=73e58ff695c3384df30094d6c15ebe9ed615460f;hb=HEAD#l421
for details).
Quoted 4 lines
To investigate it, I increased the size of the device to x10 and saw the runtime gets x10.
My questions are:
1. Is my guess correct?
Yes.
Quoted 1 line
2. What shall I do to make fio work as I want it to do?
Use io_limit if your fio is new enough or number_ios
(http://git.kernel.dk/?p=fio.git;a=blob;f=HOWTO;h=73e58ff695c3384df30094d6c15ebe9ed615460f;hb=HEAD#l778
).
Sitsofe | http://sucs.org/~sits/
Thanks Sitsofe,
it starts to submit 32M in total.
- Akira
Quoted 40 lines · Sitsofe Wheeler
Hi,
Quoted 4 lines · Akira Hayakawa
I am writing a test with fio tool (2.0.8) and I am facing a problem.
I just want to submit 512B random write to a block device.
In my case, the size of the device is 2MB and the amount of writes (specified by --size option) is 32MB.You probably wanted the behaviour of
io_limit
(http://git.kernel.dk/?p=fio.git;a=blob;f=HOWTO;h=73e58ff695c3384df30094d6c15ebe9ed615460f;hb=HEAD#l433
) rather than size...Quoted 7 lines
like this (A line from device-mapper-test-suite. Is my command wrong?):
ProcessControl.run("fio --name=test --filename=#{dev.path} --rw=randwrite --ioengine=libaio --direct=1 --size=#{@param[0]}m --bs=512")The problem is, the runtime is too short.
The block device is just a single HDD so, it will be 30sec or so. But it's actually 3sec...My guess is that fio uses
min(device size, param to --size)as the amount of writes here.That's correct in this context - size is limiting the last possible block that can be written to (see
http://git.kernel.dk/?p=fio.git;a=blob;f=HOWTO;h=73e58ff695c3384df30094d6c15ebe9ed615460f;hb=HEAD#l421
for details).Quoted 4 lines
To investigate it, I increased the size of the device to x10 and saw the runtime gets x10.
My questions are:
1. Is my guess correct?Yes.
Quoted 1 line
2. What shall I do to make fio work as I want it to do?
Use
io_limitif your fio is new enough ornumber_ios
(http://git.kernel.dk/?p=fio.git;a=blob;f=HOWTO;h=73e58ff695c3384df30094d6c15ebe9ed615460f;hb=HEAD#l778
).Sitsofe | http://sucs.org/~sits/