mc support perf

Table of Contents

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 three 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.

Note

The mc support commands were designed for MinIO deployments registered with MinIO SUBNET to ensure optimal outcome of diagnostics and performance testing. MinIO does not guarantee any functionality if used against non-MinIO deployments or if used independently of MinIO engineering and support.

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 specificying 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

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]             \
                ALIAS
mc support perf object

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

mc [GLOBAL FLAGS] support perf object  \
                [--duration]           \
                [--size]               \
                [--concurrent]         \
                [--verbose, -v]        \
                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]          \
                ALIAS

Parameters

--duration
Optional

Applies to the object command.

Specify the duration for the performance tests to run.

If not specified, the default value is 10s.

Use --duration <value> where <value> is a number and a unit of s for seconds, m for minutes.

--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, and net commands.

The alias of the MinIO deployment.

Global Flags

--debug
Optional

Enables verbose output to the console.

For example:

mc --debug COMMAND
--config-dir
Optional

The path to a JSON formatted configuration file that mc uses for storing data. See Configuration File for more information on how mc uses the configuration file.

--JSON
Optional

Enables JSON lines formatted output to the console.

For example:

mc --JSON COMMAND
--no-color
Optional

Disables the built-in color theme for console output. Useful for dumb terminals.

--quiet
Optional

Suppresses console output.

--insecure
Optional

Disables TLS/SSL certificate verification. Allows TLS connectivity to servers with invalid certificates. Exercise caution when using this option against untrusted S3 hosts.

--version
Optional

Displays the current version of mc.

--help
Optional

Displays a summary of command usage on the terminal.