Simple tutorial on how to install an OctoPerf on premises agent on windows.
Intro To allow our users to install a local agent and run tests on their private web applications we decided to rely on docker. While Docker is pretty straightforward to install on linux, using it on windows (or Mac through GUI) might prove a bit more complex. That’s why we created this tutorial, there you will find all the steps to install Kitematic and run an OctoPerf On Premises agent.
Simple tutorial on how to build lightweight Docker images for Java applications.
When you take a look at the Java Official Docker images, you will immediately notice how fat they are: a whopping 243MB announced for a simple Java 8 JDK base image! It takes forever to download them from a regular DSL connection here.
Usually, your Dockerfile for Java apps starts with something like:
FROM java:8 MAINTAINER ... Just try the following command: (you must have docker installed)
docker pull java:8 docker images | grep java It should output something like:
Docker makes it incredibly easy to run a variety of processes on a cluster of machines. Rancher offers container orchestration on top of Docker. Rancher allows you to manage a cluster of Docker-enabled machines. We use Rancher extensively at Octoperf to run JMeter containers on machines all over the world. We quickly faced an issue with Rancher here: container scheduling.
Rancher nodes administration UI
When you have a single machine running your docker container, everything is simple.
How to install an on premises agent on Windows and Mac OS.
OctoPerf last update added the possibility to install an On Premises agent to load test from behind your firewall.
We already described last week how to configure your on premises agent on a linux machine
This week we wanted to show you through a short video focusing on Windows and Mac OS. As you will see we use Kitematic to get docker running. It is pretty straightforward to install and allows OctoPerf On premises agent to run within minutes as on Linux.
Using Docker to build and deploy static websites on Amazon S3.
Building and deploying a Jekyll website on Amazon S3 To build the website of Octoperf, our load testing tool, we use Jekyll. I also use it for this website.
It’s great to generate static content, hosted on Amazon S3 like OctoPerf or on Github for this blog. But we had trouble upgrading jekyll to version 3 on our build server. We use plugin that are not yet available for this version.
Couchbase is a popular NoSQL Database. I’m working with this database for about a year. I like this database for several reasons:
Easy to install: a single .deb file to dpkg on Ubuntu, Fast: it serves queries within milliseconds, Distributed: you can build a distributed cluster with tens of machines. The biggest downside with this database is that it consumes almost 20% of cpu on our m3.large AWS instance for no reason.
Secure HTTP communication should be the de-facto standard to ensure better privacy.
OctoPerf is fully HTTPS. There is a are several reasons for it. Setting up HTTPS for all our websites (Documentation, Application and Website) is a little bit tedious and pricey1. It took us two days to complete the operation but the result is satisfying for number of reasons.
Why is HTTP so dangerous HTTPS ensures that the communication between our servers and our customers is fully encrypted. Lots of people are using a Wifi connection to go on the internet.
Real-time analytics was the trickiest part of our load testing tool. We went through many issues and learnt lessons from that.
Requirements When we first started to think about real-time analytics, we though that our previous experience in load testing would help us to get quickly to something working fine. It always seems easy to rethink about a problem you already solved in the past. We were totally wrong.
We wanted to provide our users a completely new analytics experience when load testing their website. Our requirements are :
Real-time: users should not wait the end of the test to analyze results, Blazingly Fast: users should experience sub-second response times, regardless of the number of concurrent virtual users, Scalable: we must be able to scale horizontally as the number of users grows, Reliable: the analytics system should be redundant to provide fault tolerance and avoid outage, Testable: we should be able to easily verify through unit testing that the analytics system is working correctly, Open-source: we don’t want to build this by ourselves.