Skip to content

Installation Guide

OctoPerf Enterprise-Edition (EE) can be installed in just a few minutes by following the Quick Setup. For production-grade installations, we recommend to follow the High Availability Setup.

Quick Setup

This installation guide setups OctoPerf Enterprise-Edition on a single machine. The installation can be completed within 5 minutes by unexperienced users.

The setup using Docker Compose is provided as an example. OctoPerf EE can be indifferently setup in various environments including:

  • Kubernetes: open-source system for automating deployment, scaling, and management of containerized applications,
  • Rancher: Rancher is enterprise management for Kubernetes,
  • and any other system based on Docker.

Warning

The Quick setup is best suited for trying OctoPerf EE. For production-grade installation, we recommend following High Availability Setup.

Prerequisites

System Configuration

OctoPerf Enterprise-Edition requires the following software:

  • Docker 17.09-ce or newer is recommended,
  • Docker-Compose: latest version recommended,
  • Ubuntu 16.04LTS, 18.04LTS or newer linux distribution is recommended. (although Centos and Debian are supported too) See Docker Install for more supported operating systems.

The advanced setup assumes you are familiar with Linux and Docker.

Disable Firewalls

It's recommended to disable any firewall like firewalld (Centos) or ufw (Ubuntu) because they interfer with IPTables rules. As Docker inserts IPTables rules, it's wise to disable firewall to avoid networking issues.

Docker Setup

How to Install Docker

To install Docker, run the following command on a Terminal:

curl -sSL https://get.docker.com/ | sh

Once the installation is finished, add your current user to the Docker group:

sudo usermod -aG docker $your_user

Where $your_user needs to be replaced by your username. This step is optional but avoids you to run docker commands as sudoer next time.

Check Docker is installed correctly by running docker version:

ubuntu@desktop:~$ docker version
...

Server:
 Engine:
  Version:      18.05.0-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.5
  Git commit:   f150324
  Built:        Wed May  9 22:14:32 2018
  OS/Arch:      linux/amd64
  Experimental: false

You should see something like above in your terminal.

How to Install Docker Compose

As of writing, the latest version available is 1.21.2. The following commands let you install docker-compose:

export COMPOSE_VERSION=1.21.2
curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

See latest docker-compose releases to check if a newer version is available. Once installed, run docker-compose version command:

ubuntu@ubuntu:~$ docker-compose version
docker-compose version 1.21.2, build a133471
docker-py version: 3.3.0
CPython version: 3.6.5
OpenSSL version: OpenSSL 1.0.1t  3 May 2016

You should see an output similar to above.

Run OctoPerf EE

It's now time to install and run OctoPerf EE using docker-compose:

  • Download enterprise-edition.zip,
  • Unzip in any location, it should decompress the following files:

    • haproxy: contains the files related to the HAProxy configuration, (Dockerfile and haproxy.cfg)
    • docker-compose.yml: defines the services to start via docker-compose,
    • Makefile: provides convenient commands like make up to run OctoPerf EE.
  • Run make to start OctoPerf EE,

  • Browse to http://<YOUR_IP> (or localhost if running on your own machine) to open OctoPerf EE. (starts on port 80 by default)

OctoPerf EE Login OctoPerf Login Page

Next Steps

OctoPerf EE comes completely empty. You need to create an account and register a load generator (computer used to generate the load) to be able to run load tests:

Congratulations! The setup is now complete.

High Availability Setup

OctoPerf EE can be scaled horizontally by running on a cluster of machines. It allows you to:

  • Operate continuously: resiliency to one or multiple machine failures,
  • Replicate Data over multiple machines: your data is safe by being replicated on multiple machines.

High Availability Setup

The High Availability Setup procedure is intended to be used in Production Environments.

This setup involves:

  • cluster of at least 3 machines, (an odd number is recommended. Example: 3, 5, 7 etc.)
  • elasticsearch containers running on the whole cluster, (to benefit from data replication across multiple servers)
  • enterprise-edition (backend server) container running with High Availability enabled,
  • Load-balancer to distributed incoming traffic to relevant containers,
  • DNS hostname associated with one or multiple machines serving as load-balancers,
  • Automated Elasticsearch Backups (via snapshots; on a shared NFS Disk for example).

Our team can assist you to run OctoPerf EE in High Availability using Rancher. Feel free to contact us for further information.