We are proud to announce that we support On-Premise load testing! What is On-premise load testing? Sometimes, web applications to test are behind firewalls. It may also happen that the application should not be available publicly until in production. Our on-premise feature allows you to test those applications without opening any firewall port.
You can now setup a machine to act as a load-generator on your private network. This post explains how to setup an on-premise load-generator within minutes.
Hybrid Load Testing
Our new technology allows you to mix both on-premise and cloud load-generators. Simulate virtual users running on your on-premise load-generators and virtual users running on our cloud infrastructure at the same time.
How does it work
All you need to do is to run our load testing agent on your on-premise servers. It consists of a simple Docker container, thus requiring nothing else than Docker. The agent connects to our Cloud platform, and waits for tasks. The agent will spawn JMeter Docker container when running load tests. JMeter will then hit your application and send metrics to our cloud servers.
Amazon VPC Integration
We support running load-generators with your own Amazon Web Services account. It may be required when your application runs on Amazon AWS inside a VPC and isn’t reachable from outside. This allows you to keep your servers safe while still enjoying our load testing platform.
Setting up a third-party Amazon provider is as simple as setting up an on-premise provider (with a few more steps to setup Amazon access).
Adding an on-premise provider
Log in to OctoPerf and click on the menu on the upper right corner of the application:
From this dropdown menu you can access the providers page by clicking on the Providers item.
### The providers page
Click on Add Provider and then on On Premise to open the wizard.
This page displays the following information:
- On-premise and Cloud providers you have registered,
- Regions configured per provider,
- And the hosts running for each provider.
Suppose you have office in San Francisco (California, USA) and Tokyo (Japan). You would like to simulate load on an application used by your employees working on both sites. You can setup an on-premise provider with two regions, San Francisco and Tokyo, and setup load-generators in each region. On-premise load generators can be located anywhere!
Simply give your provider a name (you can leave the default value) and set the machine memory.
The number of virtual users that can be started on your on-premise injectors depends on the amount of memory:
- 128MB to start JMeter,
- 5MB per virtual user.
Only 70% of the total server memory is used for JMeter. You can change these values by clicking on the Memory Usage button, but the default may fit most use-cases.
During the next step, leave the ‘default’ region. You may create multiple regions if you use multiple on-premise injectors and want to differentiate them in the performance reports.
Click on Save Provider.
### On-premise installation
You’re back on the provider page, with your newly created provider added to the table. Click on it to select it, the ‘default’ region appears in the Region table on the right.
For the last step, in the region table click on the </> button. The following dialog box appears:
It displays the shell commands needed to install the injectors. Copy / Paste the first command if you need to install Docker, and the second one to install the injector.
When done, your machines should appear in the Host table. You can now use them to do performance tests behind your firewall.
The on-premise injectors must:
- be linux machines, preferably CentOS or Ubuntu,
- have sufficient memory, i.e. 8GB to run 1000 VUs per machine,
- have a constant access to api.octoperf.com on ports 80 and 443.
Even if OctoPerf does not take care about processor speed when computing the number of virtual users that can be ran on an injector, you may use at least dual-core processor machines, with 10GB free hard-disk space.
Our on-premise load testing infrastructure is powered by Rancher, a promising Docker container clustering tool. We continue to work hard to combine the best technologies in a simple tool at an affordable price. Stay tuned for future exciting news and features!