RE: Fio high IOPS measurement mistake

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: fio-owner@xxxxxxxxxxxxxxx [mailto:fio-owner@xxxxxxxxxxxxxxx] On
> Behalf Of Vladislav Bolkhovitin
> Sent: Tuesday, March 01, 2016 10:25 PM
> To: Sitsofe Wheeler <sitsofe@xxxxxxxxx>; fio@xxxxxxxxxxxxxxx
> Subject: Re: Fio high IOPS measurement mistake
> 
> Hi,
> 
...
> >> Here is my full fio job:
> >>
> >> [global]
> >> ioengine=libaio
> >> buffered=0
> >> sync=0
> >> direct=1
> >> randrepeat=1
> >> softrandommap=1
> >> rw=randread
> >> bs=4k
> >> filename=./nvram (it's a link to a block device)
> >> exitall=1
> >> thread=1
> >> disable_lat=1
> >> disable_slat=1
> >> disable_clat=1
> >> loops=10
> >> iodepth=16
> >
> > You appear to be missing gtod_reduce
> > (https://github.com/axboe/fio/blob/fio-2.6/HOWTO#L1668 ) or
> > gettimeofday cpu pinning. You also aren't using batching
> > (https://github.com/axboe/fio/blob/fio-2.6/HOWTO#L815 ).
> 
...
> Jobs	IOPS(M)	%user	%sys
> 1	4.3	78	22
> 2	7.6	67	33
> 3	10.5	65	35
> 4	7.7	61	38
> 5	4.8	78	22
> 6	4.7	83	17
> 7	4.8	84	15

Use cpus_allowed_policy=split to keep threads or processes
from wandering across CPUs.

If the system is NUMA, split the NVDIMMs based on that
and use cpus_allowed to just have threads access local
NVDIMMs.

As someone else mentioned, the random map overhead is
noticeable, especially for large capacity devices.  Use
norandommap and randrepeat=0.

There was a problem in 2014 requiring invalidate=0 for
small capacities; I don't recall if that was fixed.

If you're using the pmem driver, it is incapable of queuing
(submissions are immediately completed), so iodepth is
irrelevant.

There are other system and OS settings to tune, like: 
* use the performance governor. The userspace governor
spends a lot of time making acpi_os_write calls
* turn off auditing (audit=0 on the kernel command line)
* turn off C states


��.n��������+%������w��{.n�������^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�

[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux