Skip to main content
Test file storage performance
Last update:

Test file storage performance

For your information

This is a tutorial with an example of testing file storage performance on a cloud server.

To fully test file storage performance (throughput values and read and write limits in IOPS), use the fio utility.

  1. Install the fio utility.

  2. Test the performance.

Test results can be compared with the expected performance, which depends on the type of file storage. Values can be viewed in the File storage limits table.

1. Install the fio utility

  1. Connect to the cloud server.

  2. Open the CLI.

  3. Install the fio utility:

    sudo apt update
    sudo apt install fio

2. Test performance

Can be used for:

Test limits in IOPS

  1. Open the CLI.

  2. Run the test:

    fio \
    --name=test1 \
    --blocksize=4k \
    --rw=randwrite \
    --direct=1 \
    --buffered=0 \
    --ioengine=libaio \
    --iodepth=16 \
    --loops=1000 \
    --runtime=30 \
    --filename=/mnt/nfs/test \
    --size=99G

    Specify:

    • blocksize — size of one block with which a read or write operation is performed;
    • iodepth — number of threads;
    • filename — file to write or read. The examples below show tests with the parameter filename=/mnt/nfs/test — for testing a separate file will be created in the directory with the mounted file storage;
    • size — total size of the test file. To get relevant results, we recommend performing tests on a file storage larger than 100 GB.
  3. In the test output, look for the write limit value in IOPS (IOPS):

    write: IOPS=118, BW=475KiB/s (487kB/s)(2000MiB/4310296msec); 0 zone resets

Test throughput

  1. Open the CLI.

  2. Run the test:

    fio \
    --name=test1 \
    --blocksize=4M \
    --rw=randwrite \
    --direct=1 \
    --buffered=0 \
    --ioengine=libaio \
    --iodepth=16 \
    --loops=1000 \
    --runtime=30 \
    --filename=/mnt/nfs/test \
    --size=99G

    Specify:

    • blocksize — the size of one block with which a read or write operation is performed;
    • iodepth — number of threads;
    • filename — file to write or read. The examples below show tests with the parameter filename=/mnt/nfs/test — for testing a separate file will be created in the directory with the mounted file storage;
    • size — total size of the test file. To get relevant results, we recommend performing tests on a file storage larger than 100 GB.
  3. In the test output, look at the throughput (BW) value:

    write: IOPS=25, BW=100MiB/s (105MB/s)(2000MiB/19974msec); 0 zone resets