Skip to main content

Test file storage performance

Last update:
For your information

This guide provides an example of testing file storage performance on a cloud server.

To perform a comprehensive test of file storage performance (throughput values and read/write IOPS limits), 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 file storage type. The values can be viewed in the Limits and Restrictions 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 the performance

You can use:

Test IOPS limits

  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 — the size of a single block for the read or write operation;
    • iodepth — the number of threads;
    • filename — the file for writing or reading. The examples below show tests using the filename=/mnt/nfs/test parameter — a separate file will be created for the test in the directory where the file storage is mounted;
    • size — the total size of the test file. For relevant results, we recommend testing on file storage larger than 100 GB.
  3. In the test output, check the write IOPS limit value (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=write \
    --direct=1 \
    --buffered=0 \
    --ioengine=libaio \
    --iodepth=16 \
    --loops=1000 \
    --runtime=30 \
    --filename=/mnt/nfs/test \
    --size=99G

    Specify:

    • blocksize — the size of a single block for the read or write operation;
    • iodepth — the number of threads;
    • filename — the file for writing or reading. The examples below show tests using the filename=/mnt/nfs/test parameter — a separate file will be created for the test in the directory where the file storage is mounted;
    • size — the total size of the test file. For relevant results, we recommend testing on file storage larger than 100 GB.
  3. In the test output, check the throughput value (BW):

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