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 like Kubernetes or Rancher.

Warning

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

Prerequisites

Requirements

OctoPerf Enterprise-Edition has the following requirements:

  • dual or quad cores CPU,
  • At least 8GB RAM,
  • Operating System: Ubuntu 18.04LTS or newer 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.

Increase VM Max Map Count

Elasticsearch Database requires the systemctl vm.max_map_count to be set at least to 262144:

sysctl -w vm.max_map_count=262144

To set this value permanently, update the vm.max_map_count setting in /etc/sysctl.conf. To verify after rebooting, run sysctl vm.max_map_count. See Elasticsearch VM Max Map Count for more information.

Install Docker

Docker Setup

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.

Docker Compose Setup

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.

Install 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,
    • config/application.yml: server configuration file,
    • Makefile: provides convenient commands like make up to run OctoPerf EE.
  • Edit config/application.yml: define the server.hostname property with the IP / Hostname of the machine running OctoPerf:

server:
  hostname: IP_ADDRESS

By Default, the web-server runs with http protocol on port 80. Replace IP_ADDRESS by the ip address / hostname of your machine. It must be an IP reachable publicly or at least from your local area network.

  • 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 (server running on my local machine)

Create an Account

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.