Documentation

mc support perf

Changed in version RELEASE.2022-07-24T02-25-13Z: mc support perf replaces the mc admin speedtest command.

SUBNET Registration Required

The mc support commands are designed for MinIO deployments registered with MinIO SUBNET to ensure optimal outcome of diagnostics and performance testing. Deployments not registered with SUBNET cannot use the mc support commands.

Description

Use the mc support perf command to review the performance of the S3 API (read/write), network IO, and storage (drive read/write).

The resulting tests can provide general guidance of deployment performance under S3 GET and PUT requests and identify any potential bottlenecks. For more complete performance testing, consider using a combination of load-testing using your staging application environments and the MinIO WARP S3 benchmarking tool.

mc support perf has the following subcommands

  1. drive

    Measure the speed of drives in a MinIO deployment.

  2. object

    Measure the speed of reading and writing objects in a cluster.

  3. net

    Measure the network throughput of all nodes.

  4. client

    Measure the network throughput to a client.

  5. site-replication

    Measure the speed of site replication operations.

SUBNET Registration Required

The mc support commands are designed for MinIO deployments registered with MinIO SUBNET to ensure optimal outcome of diagnostics and performance testing. Deployments not registered with SUBNET cannot use the mc support commands.

Examples

Measure Speed of an Object

Measure the performance of S3 read/write of an object on the alias minio1. MinIO autotunes concurrency to obtain maximum throughput and IOPS (Input/Output Per Second).

mc support perf object minio1

Measure Speed of an Object of a Specific Size for a Specific Duration

Run object the S3 read/write performance of an object for 20 seconds with object size of 128MiB on alias minio1. MinIO autotunes concurrency to obtain maximum throughput.

mc support perf object minio1 --duration 20s --size 128MiB

Test Speed of All Drives on All Nodes with Default Specifications

Run drive read/write performance measurements on all drive on all nodes for a cluster with alias minio1. The command does not specify the blocksize, so the default of 4MiB is used.

mc support perf drive minio1

Test Drive Speed Measurements with Custom Specifications

Run drive read/write performance measurements on a cluster with alias minio1 specifying a blocksize of 64KiB and data read/written from each drive of 2GiB.

mc support perf drive minio1 --blocksize 64KiB --filesize 2GiB

Test Network Throughput

Run a network throughput test on a cluster with alias minio1.

mc support perf net minio1

Test Site Replication Speed

Run a test on the speed of site replication operations from the minio1 site to other configured peers.

mc support perf site-replication minio1

Syntax

mc support perf drive

Measure the read/write speed of the drives in a cluster.

mc [GLOBAL FLAGS] support perf drive   \
                [--concurrent]         \
                [--verbose, -v]        \
                [--filesize]           \
                [--blocksize]          \
                [--serial]             \
                [--airgap]             \
                ALIAS
mc support perf object

Measure the S3 performance of reading and writing objects in a cluster.

mc [GLOBAL FLAGS] support perf object  \
                [--size]               \
                [--concurrent]         \
                [--verbose, -v]        \
                [--airgap]             \
                ALIAS
mc support perf net

Measure the network throughput of all nodes in a cluster.

mc [GLOBAL FLAGS] support perf net  \
                [--concurrent]      \
                [--verbose, -v]     \
                [--serial]          \
                [--airgap]          \
                ALIAS
mc support perf client

Measure the network throughput from the local device running the MinIO Client to the server.

mc [GLOBAL FLAGS] support perf client  \
                --duration             \
                [--verbose, -v]        \
                [--airgap]             \
                ALIAS
mc support perf site-replication

Measure the speed of site replication operations from the specified ALIAS to other configured peers.

mc [GLOBAL FLAGS] support perf site-replication \
                  --duration                    \
                  [--verbose, -v]               \
                  ALIAS

Parameters

--airgap
Optional

Use in environments without network access to SUBNET (for example, airgapped, firewalled, or similar configuration).

If the deployment is airgapped, but the local device where you are using the minio client has network access, you do not need to use the --airgap flag.

--size
Optional

Applies to the object command.

Specify the size of the object to use for upload and download performance test.

If not specified, the default value is 64MiB.

Use --size <value> where <value> is a number and the storage unit, KiB, MiB, or GiB.

--concurrent
Optional

Applies to the drive, object, and net commands.

Specify the number of concurrent requests to test per server.

If not specified, the default value is 32.

Use --concurrent <value> where <value> is a number.

--verbose, -v
Optional

Applies to the drive, object, and net commands.

Show per-server stats in the output.

--filesize
Optional

Applies to the drive command.

Specify the total size of data to read or write to each drive.

If not specified, the default value is 1GiB.

Use --filesize <value> where <value> is a number and storage unit, KiB, MiB, or GiB.

--blocksize
Optional

Applies to the drive command.

Specify the read/write block size.

If not specified, the default value is 4MiB.

Use --filesize <value> where <value> is a number and a storage unit, using standard storage unit abbreviations.

--serial
Optional

Applies to the drive and net commands.

Run performance tests on drive(s) one by one.

ALIAS
Required

Applies to the drive, object, net, and client commands.

The alias of the MinIO deployment.

--duration
Required

Applies to the client command.

Length of time in seconds to perform the test. Time cannot be 0 or negative.

Global Flags

This command supports any of the global flags.