Storage Performance Benchmarking

Like compute QPI, storage QPI gives users an overall score for system storage performance. The project StorPerf in OPNFV provides a tool to measure ephemeral and block storage performance of OpenStack. Naturally, QTIP integrates StorPerf to generate the storage performance data.

For now, storage QPI runs against on the baremetal/virtual scenario deployed by the OPNFV installer APEX.

Getting started

Notice: All descriptions are based on containers.

Requirements

  • Git must be installed.
  • Docker and docker-compose must be installed.

Git Clone QTIP Repo

git clone https://git.opnfv.org/qtip

Running QTIP container and Storperf Containers

With Docker Compose, we can use a YAML file to configure application’s services and use a single command to create and start all the services.

There is a YAML file ./qtip/tests/ci/storage/docker-compose.yaml from QTIP repos. It can help you to create and start the storage QPI service.

Before running docker-compose, you must specify these three variables:

  • DOCKER_TAG, which specified the Docker tag(ie: latest)

  • SSH_CREDENTIALS, a directory which includes an SSH key pair will be mounted into QTIP container. QTIP use this SSH key pair to connect to remote hosts.

  • ENV_FILE, which includes the environment variables required by QTIP and Storperf containers

    A example of ENV_FILE:

    INSTALLER_TYPE=apex
    INSTALLER_IP=192.168.122.247
    TEST_SUITE=storage
    NODE_NAME=zte-virtual5
    SCENARIO=generic
    TESTAPI_URL=
    OPNFV_RELEASE=euphrates
    # The below environment variables are Openstack Credentials.
    OS_USERNAME=admin
    OS_USER_DOMAIN_NAME=Default
    OS_PROJECT_DOMAIN_NAME=Default
    OS_BAREMETAL_API_VERSION=1.29
    NOVA_VERSION=1.1
    OS_PROJECT_NAME=admin
    OS_PASSWORD=ZjmZJmkCvVXf9ry9daxgwmz3s
    OS_NO_CACHE=True
    COMPUTE_API_VERSION=1.1
    no_proxy=,192.168.37.10,192.0.2.5
    OS_CLOUDNAME=overcloud
    OS_AUTH_URL=http://192.168.37.10:5000/v3
    IRONIC_API_VERSION=1.29
    OS_IDENTITY_API_VERSION=3
    OS_AUTH_TYPE=password
    

Then, you use the following commands to start storage QPI service.

docker-compose -f docker-compose.yaml pull
docker-compose -f docker-compose.yaml up -d

Execution

  • Script

    You can run storage QPI with docker exec:

    docker exec <qtip container> bash -x /home/opnfv/repos/qtip/qtip/scripts/quickstart.sh
    
  • Commands

    In a QTIP container, you can run storage QPI by using QTIP CLI. You can get more details from userguide/cli.rst.

Test result

QTIP generates results in the /home/opnfv/<project_name>/results/ directory are listed down under the timestamp name.

Metrics

Storperf provides the following metrics:

  • IOPS
  • Bandwidth (number of kilobytes read or written per second)
  • Latency