Skip to content

Load Testing Blog

Spring Annotations Demystified

If you're here, it's probably because you have never really understood the differences between those Spring annotations:

  • What is the Spring @Service annotation for?
  • What's the key difference between a class annotated with @Component and @Service?
  • How can I use @PostConstruct and @PreDestroy?

The bad news is Your search is over! It's finally time to get a better understanding of when and how to use those annotations.

The section above describe each annotation and the best way to use them to fully leverage the power of Spring Framework.

All those annotations are designed to:

  • annotate classes,
  • enable instantiation and autowiring of those annotated classes.

But, how do they differ from each other? Let's dive into Spring's internals to find out!

Elasticsearch: Snapshot Backups on a Shared NFS

Disasters can happen. We experienced data loss on our Elasticsearch cluster a few weeks ago after a failed upgrade. That's why data redundancy isn't enough: even when you data is replicated on multiple nodes, your data isn't safe!

Backuping your elasticsearch cluster is another layer of security in case things go wrong:

  • Failed Upgrade: in our case, that's what happened. The data was upgraded but elasticsearch was unable to read it. Several nodes had corrupted data,
  • Intrusions: what if a hacker gains access to your database,
  • Multiple node failures: data is usually replicated on 1+ nodes, but what if several nodes fail simultaneously? It's highly improbable, that's true.

This tutorial is going to explain how we use a shared Network File System connected to all our Elasticsearch nodes to save incremental snapshots of the database every night. Let's see how we can leverage NFS to store Elasticsearch snapshots.

Extend OctoPerf results with Instana

Today we have a look at the added value you get by using a combination of load testing and APM. Our tool of choice at OctoPerf is Instana, because we share a lot of common values. To put it short we both have a huge focus on ease of use and docker oriented platforms. I think it makes this collaboration even more relevant for our users.

Anyway, as you probably know OctoPerf is oriented toward running realistic tests as easily as possible. And Instana will get you live insight about your entire platform allowing you to instantly understand the consequences of your load test. This blog post is a collaboration with folks at Instana and you can find the second part whith a detailed analysis of the test on their blog.

JMeter If Controller

You may ask yourself:

  • How can I script Thread groups with dynamic behavior?
  • How to use the JMeter If Controller to leverage conditional behavior?

Good News! We're going to show you the JMeter If Controller by introducing you to conditional statements, advanced conditions and performance considerations.

Use-Cases

The If Controller works great when you need to execute some elements of the Thread Group based on a given state. Let me give you meaningful examples:

  • If the shopping cart is empty, then execute Add a New Product to Cart,
  • If Account balance is below Zero, then Issue a wire transfer to rebalance the Account.

Depending on a given condition, then a given action is taken. That's it!

Performance Test Strategy

A long time ago, Quality Assurance was executed after development. Performance testing was an activity executed when software was ready for production.

If a performance issue was found, most companies:

  • Fix the issue which means a complete new cycle including QA Tests and performance tests are required,
  • Or put the software live and decided to fix it as part of ongoing development,
  • Or borrow from the future. That's technical debt.

Let’s be fair: this approach isn't optimal.

The root cause is performance testing is not considered viable until the software reached a certain level of maturity.

The DevOps approach is exactly the opposite: performance test early.

It is known as shift left performance testing and it works it just needs Quality Assurance teams to think a little differently when it comes to performance testing and to have a performance test strategy in place to support shift left performance testing.

Let’s explore how to integrate load testing as part of your software development strategy.