Skip to content

Load Testing Blog

Recording HTTP traffic with JMeter

JMeter is an open-source load testing tool. See related posts if you want more information about JMeter. JMeter allows to record HTTP traffic with its built-in HTTP(S) Test Script Recorder. OctoPerf natively supports importing JMeter recordings.

Installation

First, you need to install JMeter on your computer:

  • Get JMeter from JMeter Download Page,
  • Decompress the archive,
  • Run JMETER_HOME/bin/jmeter executable (extension depends on your OS).

JMeter GUI should appear. JMeter is a Java program, it requires a Java JRE. Install one if you don't have any.

Real-time analytics with ElasticSearch

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. We believe that it's not our job. We don't want to waste our time reinventing the wheel.

We placed the bar very high. If you want to reach the moon, shouldn't you somehow aim for the stars?

JMeter vs Gatling Tool

I think you'll agree when I say:

It's REALLY hard to decide whenever JMeter or Gatling Tool should be used.

You're probably wondering:

  • How does JMeter to Gatling Tool compare?
  • Which tool has best documentation? Performances? Script Maintainability?
  • Should I use JMeter or Gatling? Or maybe both?

Well, it turns out you can gain significant insight on JMeter and Gatling differences in just 5 minutes reading!

Following up our article about why we chose JMeter to build OctoPerf, our Cloud Load Testing Platform, this post compares JMeter and Gatling Tool on many different fields:

  • Project History: which tools is improved and maintained more actively,
  • Features: which of the two has the most features,
  • Setup: how each tool can be installed,
  • Documentation: which tool does have the most complete documentation,
  • Scripting: compares how to design scripts with both tool,
  • Performances: is JMeter faster than Gatling? Which is the most efficient tool,
  • and even more!

Ready for some action? Let's go!

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?