Skip to content
Install OctoPerf in your company

Install OctoPerf in your company

We have come a long way since the original release of the OctoPerf On-Premise Infra 30 months ago. We have added so many features since then that it felt important to regroup them in this blog post to highlight how easy it has become to install and manage your own OctoPerf server.

I will refer to our documentation a lot because all of these features are detailed there. But documentation can sometimes make the decision process more difficult just because of the sheer amount of information it gives. That's why the purpose of this post is to follow a simple use case and highlight all the possibilities on each step of the way.

Need professional services?
Rely on our Expertise

Installation

Prerequisites

First we should look at the architecture diagram of the OctoPerf On-Premise Infra:

Architecture

Every block in this diagram (except Web browser) is a docker container. Because of this, the main prerequisite is having a docker CE compatible machine. All of them can be installed on the same physical machine.

Another consequence of this is the installation procedure will require an access to a docker registry that provides the docker images. The default registry is docker hub but it is public and requires an internet access. You might want to either:

Installation

OctoPerf On-Premise Infra can be installed using various methods, including:

Single Sign-On (SSO)

To provide seamless integration with your company's account management, OctoPerf On-Premise Infra supports SSO authentication. In particular, to comply with security policies where you want to revoke user accounts quickly.

That's why you can integrate OctoPerf into your company's single sign on system using:

Both can be easily configured here.

It is important to note that switching your OctoPerf server to SSO means you will no longer be able to login through login/password anymore. Make sure to backup your previous work or you will have to use an administrator account to transfer workspaces and providers to the new accounts.

Admin user

After the OctoPef On-Premise Infra is running, a good first step is to configure the default server admin account. Then, just create an account with this e-mail address and when you login the upper right menu should look like:

Admin menu

We'll have a look at all you can do with this menu later in this tutorial. For now we just want to make sure it will be available when we need it later.

Providers and Agents

Now that you have installed and configured the OctoPerf On-Premise Infra, we will look into what you can do to install load generators or as we call them On-Premise Agents. But first we must create a provider. Providers are groups of similar machines on which you will install your On-Premise agents. Each provider can have its own settings in terms of how many concurrent users can be placed per host:

Provider

You can create as many providers as you want, for example to deal with different types of machines. Or to provision more or less concurrent users per machine. Note that you can also create regions inside a provider, this way you can attach On-Premise agents to different regions inside the same provider to differentiate them during your tests. Regions have coordinates that we use for display on the runtime screen:

Agent selection

There are different types of providers depending if you wish to install your own load generation agents or use our AWS or Azure integration.

On-Premise Agents

On-Premise agents refer to load generators you install on your own hardware using the command line provided by OctoPerf. Agents can run on both Virtual Machines as well as bare-metal servers.

This command line contains a unique AGENT_TOKEN parameter that will link it to the provider where it was created. This command line is valid to install on any number of hosts, but you might want to change the --name for an easier maintenance.

You can automate the deployment on your side for example with Ansible scripts but contrary to AWS, DO & Azure providers we do not do it for you.

Cloud: AWS, DigitalOcean and Azure

Agent startup

If you do not want to manage the load generators yourself, you can use our integrations with third party cloud platforms:

Each one of these will have different prerequisites but the principle is to use your own account with these services to start and stop load generators on the fly. That might be cost-efficient compared to maintaining permanent load generators. you can also benefit from large on-demand number of machines when required.

Sharing Providers

Once you have configured your provider you will notice that it is attached to the workspace in which you created it.

Share provider

To share it with other workspaces, you can use the Share provider button.

Workspaces

We have just mentioned workspaces in the previous section. These allow you to create groups of projects to separate work from different teams. That way you can have several users working in different teams in total isolation. And also have several users working on the same projects by sharing access to the same workspaces:

Workspaces

In this example we can see on top a separate workspace only accessible to the administrator. That way only he can edit/configure the provider installed in this workspace. It is then shared with other workspaces so that they can use ot for their tests.

Other workspaces are accessible by various users, one of the users only has access to one project, probably read-only. That way he can access test reports on his own but not edit the scripts or scenarios.

Add users

Only the workspace admin (by default its creator) or the server admin can give access to other accounts. To add a member you need to provide an existing login in the Add member box at the bottom:

Add member

Note that when SSO is enabled the user must login once before you can add him to any workspace. His login is only stored in OctoPerf after this first login.

Add/remove workspace

Workspaces can be created by anyone simply by clicking the big plus button:

Add workspace

Removing a workspace will permanently remove all projects and providers from your database. To avoid any mistake only the server admin can remove a workspace.

Administration

The administration console offers many way to manage all the users/workspaces on your OctoPerf server.

Users

For every user registered to your OctoPerf server, the user management tab of this console allows you to:

  • Disable,
  • Remove,
  • Promote as server admin,
  • Login as.

This gives the admin, complete control over everything going on inside the OctoPerf server:

Users

Workspaces

Since every user can create its own private workspace it is sometimes difficult to know what's going on. The workspace management tab is there to list them all:

Workspaces admin

It allows the administrator to remove a workspace, we strongly recommend renaming the workspace with something unique before that. Otherwise you may end up removing an otherwise important workspace.

From there you can also connect to the workspace admin page and manage access rights, that is especially usefull when the last workspace admin has left.

Agents

Another important topic for the administrator is to have a centralized view of all the agents running on the platform. From this screen you can see the list of cloud or local agents running but also how many active containers they have at the moment and their logs:

Agent logs

This is especially usefull to keep an eye on the platform usage, see if there's a resource shortage on one of the providers and why.

Conclusion

There is a lot more you can achieve with our On-Premise Infra that wouldn't fit in this guide. Drop us a message in the chat in case you have any question, it will help us update this post with the most relevant topics. And note that you can evaluate it for free, because every On-Premise Infra comes with a free, permanent 50 user license.

Want to become a super load tester?
Request a Demo