Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How are custom fio flags supplied? #62

Open
haneef95 opened this issue Nov 3, 2021 · 7 comments
Open

How are custom fio flags supplied? #62

haneef95 opened this issue Nov 3, 2021 · 7 comments

Comments

@haneef95
Copy link

haneef95 commented Nov 3, 2021

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,

@JonMagon
Copy link
Owner

JonMagon commented Nov 3, 2021

Hello!

There is no such possibility, although the idea is interesting, but the flag --direct is already in use:

<< "--direct=1"

@haneef95
Copy link
Author

haneef95 commented Nov 3, 2021

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:

<< QStringLiteral("--numjobs=%1").arg(threads));

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

@JonMagon
Copy link
Owner

JonMagon commented Nov 3, 2021

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.

@haneef95
Copy link
Author

haneef95 commented Nov 5, 2021

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

How about cascading them under an Advanced tab/section?

@olavgg
Copy link

olavgg commented Nov 22, 2022

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

@Mart-Bogdan
Copy link

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
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants