Skip to content

Load Testing Blog

From Java to JavaScript

Our load testing platform, OctoPerf, has its frontend made using AngularJs. But it was not always the case, and this article describes the journey that led us to this choice.

Java was all I knew

When I graduated in 2007, all I wanted was to perfect my Java skills. I spent years as a consultant in several companies, chowing down Struts or JSF, Ant and Maven. I also created personal projects to learn JBoss Seam or GWT. Many of these previously trending technologies are outdated now.

Java and its ecosystem were all I knew, and all I wanted to know. The little prick I was, looked at PHP or JS developers with disdain. I was convinced that Java would be the best solution to any problem. I was convinced that I could create web applications without writing HTML or CSS.

You already know that i was wrong. silver bullet is a myth!

How to burn 50k dollars trying to save a few hundreds

You are a brand new startup. No cash flows in at the moment. What are you trying to do? Survive. You are saving every single penny to last as long as possible. You stick with free tools, or stay with freemium plans. Are you really saving money by doing this?

How it happens

Once your startup launch is successful, you're growing fast and are rapidly acquiring new customers. As it grows, the tools you used at the beginning are less and less adapted to your changing needs.

You begin to look for alternative tools to complete the job. The open-source load testing tools hardly scales as the number of simulated users explode.

MkDocs sitemap.xml file generation

Here at OctoPerf we love static website generators. Even if our load testing tool is made completely dynamic by AngularJS, our website and blog are generated using Jekyll.

The OctoPerf documentation is created with MkDocs. This wonderful tool allowed us to concentrate on the documentation content as the markdown syntax is really easy to comprehend.

Moreover, the responsive themes let us integrate the documentation directly into our performance testing tool:

OctoPerf integrated documentation

When we first wrote it, MkDocs version was 0.12.0. It did not support sitemap.xml file generation. This guide helps migrating to the latest version (0.14.0).

Response time is critical for E-Commerce

Online E-commerce business is growing very quickly. From 2007 to 2015, the US Online retail sales have grown by 38%. And the market is still growing rapidly year over year.

Online E-commerce Growth

In this context, being able to follow the business growth is critical. The goal of any online retailer is to increase the number of visitors, and thus increase the number of orders. But, bringing more people on an online shop can quickly become a pain if the shop is not prepared for it.

Imagine you have an e-commerce. The local TV makes an interview of you, a successful entrepreneur. Many people will see you, and want to visit your shop to see what you are selling. This is where the nightmare begins. The opportunity to make more sales is compromised by the absolute slowness of the website. The servers are overloaded.

Recording HTTP traffic with Fiddler

Fiddler is an HTTP proxy primarly designed to debug HTTP requests. It allows to capture HTTP traffic and export it in different format. OctoPerf supports importing HAR (Http Archive v1.2), which is precisely what Fiddler can do. In this post, you will learn how to record your web or mobile app with Fiddler, and then run a load test from the Cloud with OctoPerf.

We are going to use FiddlerCap, which is a very simple and powerful.

Why recording

Recording an HTTP app is the best way to run realistic load tests. You are guaranteed to capture the real HTTP traffic between a customer and your web app. It's also quicker to record the traffic instead of creating it manually from scratch.