Skip to content

2015

Building Better Software

OctoPerf has been built from the ground with one unique idea: writing code that's pleasant to work with. Code quality is our number one priority. When you create your own startup, you quickly understand that the number one enemy are not your competitors: it is yourself!

When creating a startup you realize that your product:

  • must be released as quickly as possible on the market,
  • needs as many features as possible to catch back the competitors,
  • must be bug free to give your users the best possible experience.

Performance comes with a trade-off

Everyone knows that having a website which is fast is better than slow. But, did you know that improving the speed of your web application almost always comes with a trade-off?

Like Antoine Lavoisier said Nothing is lost, nothing is created, everything is transformed. What happens when altering a web or mobile app to improve its performances?

How fast do you want to be?

First of all, you should ask yourself this question. Try to target a reasonable goal, and stick to it. Maybe is your web or mobile app already fast enough? Load testing your app gives you how fast your application behaves under a given load. Is the app within the reasonable target response time?

Hosting Jekyll on Amazon Web Services

Our need is to create a fast website, in as less time as possible. Time is money, and when you launch a Startup, it is a very scarce resource.

Our prerequisites:

  • Best possible response times from anywhere in our geographical market (Worldwide: USA, Europe and India).
  • An already designed website template, we are not CSS gurus, and building it from scratch takes too much time.
  • Easy to customize, it must match our graphic design with just a few modifications.
  • Maintainable, we must be able to add content quickly.
  • Can be deployed using Jenkins, our continuous integration tool.

That is why we choose to use Jekyll to create a static website deployed on Amazon Web Services (S3 and CloudFront).

Page Response time Perception

The visibility of a website or a web page in a search engine's unpaid results depends on its loading speed. Since 2010, Google announced that Webmasters should optimize their web pages loading speed because it's going to be a ranking criteria: Page speed and Search Engine Ranking. Matt Cutts predicted this change on his blog.

Moreover, global website performance is also important for your visitors. Most people dislike when a website is stuck loading the page, and leave without coming back. With internet being faster and faster, people become more impatient and refuse to wait.

With increasing network speed, both on mobile and desktop, users are used to quick page loading. This would have been a completely different story when users were connecting using 56k. Did you know that most people leave a website after 2 seconds of waiting?

Why We Chose JMeter

When we started to think how to build OctoPerf, about one year ago, we had several options to create our stress testing platform:

  • Write our own HTTP engine from the ground,
  • Use command line tools like Curl,
  • Reuse an existing open-source HTTP engine, but which one? (Gatling Tool, JMeter, Grinder...)

It took us several months to choose which one was the right option. When you are building a startup, the biggest constraint is obviously Time. It is the limitation factor.

But, you must spend the right time on your product to bring value to the customers.

Writing Our own Engine from scratch

public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
}