Elastic Compute Service
Parameter | Description |
Parameter | Description |
[global] | Indicates job name. The global section name can not be modified. It describes the default configuration values for each job in the job file. |
ioengine=libaio | Specifies the I/O engine (synchronous and asynchronous I/O are supported) for FIO. Here, we recommend using libaio (asynchronous I/O), which submits a batch of I/O requests at once, waits for the batch to complete, and then submits the next. This reduces interaction overhead and improves efficiency. |
userspace_reap | Used with libaio to improve the completion speed of asynchronous I/O. |
time_based | Indicates that read/write operations repeat until the time is reached, if the file is fully read/written before the time specified by the runtime expires. |
runtime=60 | Specifies the time (in seconds) after which the process stops. 60s is recommended. |
direct=1 | Whether to use direct I/O. Values:
|
group_reporting | Displays the aggregate result of information (of each thread/process). |
randrepeat=0 | Whether the random sequence is repeatable. Values:
|
norandommap | Typically, for random I/O operations, FIO covers every block of the file. That is, FIO uses a section of memory to record whether a random position is repeated. If the position is repeated, FIO then finds another position not repeated. If this parameter is configured, FIO does not query historical data, which achieves truly random read and write operations. |
ramp_time=6 | Used to specify the ramp-up time at the start of testing. It is recommended to set it to 6, which means waiting 6 seconds for the performance to stabilize before recording log data. This reduces the amount of time for generating a valid result. |
iodepth=1 | Specifies I/O queue depth. This represents the maximum simultaneous I/O operations for asynchronous I/O. |
numjobs=1 | Recommended value: CPU core number. For example, if the ECS instance has eight CPU cores, the recommended value for numjobs is 8. |
exitall | Indicates that after one job is completed, all jobs will be stopped. |
[randread4k], [randwrite4k] | Used to specifically define the relevant configuration for the testing task.
|
filename=/data/fiotest | The path of the file to be tested. If it is a whole disk test, use the disk device name. |
rw | The read and write policy during testing.
|
bs=4k | Indicates block size (I/O unit). Default value: 4 KiB. Read and write block sizes can be specified separately with the "read" and "write" parameters. Either parameter can be left empty to retain its default value. |
size=10G | Indicates the size of the test file. FIO completes reading/writing the entire specified file size before stopping the test, unless disrupted by other configurations (such as the parameter "runtime"). This argument can be a unit-suffixed number, for example, size=10G represents a read/write data volume of 10 GiB, or a percentage, for example, size=20%, where FIO uses 20% of the total space of the given file or device. If this argument is not specified, FIO will use the full size of the given file or device. |
Parameter | Description |
Parameter | Description |
if=/dev/zero | Specifies the source file from which data is read. "if=/dev/zero" indicates testing pure write performance. |
of=/dev/null | Specifies the file to which the converted data is written. "of=/dev/null" indicates testing pure read performance. |
bs=16M | Sets the size of a read/write block to bytes. |
count=1024 | Indicates copying only 1024 blocks. The block size equals the byte value specified by bs. |
iflag=direct | Indicates direct I/O for reading data. |
oflag=direct | Indicates direct I/O for writing data. |