KDiskMark icon indicating copy to clipboard operation
KDiskMark copied to clipboard

How are custom fio flags supplied?

Open haneef95 opened this issue 3 years ago • 7 comments

Hi,

Is there any way to supply custom additional fio flags for these tests? essentially creating a custom profile from existing profiles.

For example, I'm looking to supply the --direct=1 flag to skip cache and vice-versa. This is for an Azure Disk.

Thanks,

haneef95 avatar Nov 03 '21 00:11 haneef95

Hello!

There is no such possibility, although the idea is interesting, but the flag --direct is already in use: https://github.com/JonMagon/KDiskMark/blob/9952d5f29dbfb04b415957da55a791dcffd0aa73/src/benchmark.cpp#L87

JonMagon avatar Nov 03 '21 13:11 JonMagon

Thanks!

It's just that when using the actual fio in terminal, I saw a significant difference between 1 and 0 set to the --direct= flag.

Some Background

Using Azure Managed Disks with Host Caching.

Potential way forward:

Could you add just the --direct= flag as an option under 'Settings' potentially please?

I can already see that the code is setup to get (most of the) variables from the GUI: https://github.com/JonMagon/KDiskMark/blob/9952d5f29dbfb04b415957da55a791dcffd0aa73/src/benchmark.cpp#L99

It'll be amazing if all the flags are modifiable within the GUI, maybe for later though.

haneef95 avatar Nov 03 '21 13:11 haneef95

Yes, I think that's a good idea, but the problem is also not to overload the settings window with a bunch of checkboxes. I have heard people complain about the complexity of the settings, although the interface is the same as in CrystalDiskMark.

JonMagon avatar Nov 03 '21 16:11 JonMagon

I hear you. Sometimes, it could be end up being overwhelming for simple tasks.

How about cascading them under an Advanced tab/section?

haneef95 avatar Nov 05 '21 18:11 haneef95

I think having fsync option (for writes) should be available, it's the most important number for us database people.

olavgg avatar Nov 22 '22 11:11 olavgg

I am actually experiencing problems because of direct i/o on btrfs filesystem.

So sequential write: Ext4 Sequential 1 MiB (Q= 8, T= 1): 3160.844 MB/s [ 3086.8 IOPS] < 2391.58 us> Btrfs: Sequential 1 MiB (Q= 8, T= 1): 2223.614 MB/s [ 2171.5 IOPS] < 3392.60 us>

And results from dd: Btrfs: 3.1 GB/s Ext4: 2.1 GB/s

Full results

dd test

$ LC_ALL=C dd if=/tmp/kek of=/run/media/winnie/second-btrfs/kek bs=1M  status=progress                                                                                                           
18000+0 records in
18000+0 records out
18874368000 bytes (19 GB, 18 GiB) copied, 6.03545 s, 3.1 GB/s
$ LC_ALL=C dd if=/tmp/kek of=/run/media/winnie/kek-ext4/kek bs=1M  status=progress 
18000+0 records in
18000+0 records out
18874368000 bytes (19 GB, 18 GiB) copied, 9.077 s, 2.1 GB/s

ext.txt

                        KDiskMark (3.1.2): https://github.com/JonMagon/KDiskMark
                    Flexible I/O Tester (fio-3.33): https://github.com/axboe/fio
--------------------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

[Read]
Sequential   1 MiB (Q=  8, T= 1):  3502.566 MB/s [   3420.5 IOPS] <  2330.71 us>
Sequential 128 KiB (Q= 32, T= 1):  3493.442 MB/s [  27292.5 IOPS] <  1167.40 us>
    Random   4 KiB (Q= 32, T=16):  1143.411 MB/s [ 285853.8 IOPS] <   445.77 us>
    Random   4 KiB (Q=  1, T= 1):    54.178 MB/s [  13544.7 IOPS] <    68.71 us>

[Write]
Sequential   1 MiB (Q=  8, T= 1):  3160.844 MB/s [   3086.8 IOPS] <  2391.58 us>
Sequential 128 KiB (Q= 32, T= 1):  3101.167 MB/s [  24227.9 IOPS] <  1290.76 us>
    Random   4 KiB (Q= 32, T=16):  1001.145 MB/s [ 250287.1 IOPS] <   508.66 us>
    Random   4 KiB (Q=  1, T= 1):   112.448 MB/s [  28112.1 IOPS] <    29.45 us>

Profile: Default
   Test: 8 GiB (x4) [Measure: 5 sec / Interval: 5 sec]
   Date: 2023-01-13 04:26:50
     OS: manjaro unknown [linux 5.15.85-1-MANJARO]

btrfs.txt

                        KDiskMark (3.1.2): https://github.com/JonMagon/KDiskMark
                    Flexible I/O Tester (fio-3.33): https://github.com/axboe/fio
--------------------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

[Read]
Sequential   1 MiB (Q=  8, T= 1):   984.122 MB/s [    961.1 IOPS] <  8309.36 us>
Sequential 128 KiB (Q= 32, T= 1):   930.220 MB/s [   7267.3 IOPS] <  4393.18 us>
    Random   4 KiB (Q= 32, T=16):  1084.608 MB/s [ 271152.9 IOPS] <   469.13 us>
    Random   4 KiB (Q=  1, T= 1):    36.248 MB/s [   9062.0 IOPS] <   104.60 us>

[Write]
Sequential   1 MiB (Q=  8, T= 1):  2223.614 MB/s [   2171.5 IOPS] <  3392.60 us>
Sequential 128 KiB (Q= 32, T= 1):  2116.817 MB/s [  16537.6 IOPS] <  1858.87 us>
    Random   4 KiB (Q= 32, T=16):   199.046 MB/s [  49762.4 IOPS] <  2546.27 us>
    Random   4 KiB (Q=  1, T= 1):    73.223 MB/s [  18305.7 IOPS] <    43.69 us>

Profile: Default
   Test: 8 GiB (x4) [Measure: 5 sec / Interval: 5 sec]
   Date: 2023-01-13 04:31:18
     OS: manjaro unknown [linux 5.15.85-1-MANJARO]

And read speed is actually really slow. Insanely slow.

Mart-Bogdan avatar Jan 13 '23 02:01 Mart-Bogdan

Oh, I see that now there is option to not use O_DIRECT in menu.

Mart-Bogdan avatar Jan 13 '23 02:01 Mart-Bogdan