As it stands — there is no generic Performance Engineering accreditation track for globally accepted certification. There are tool specific accreditations which are helpful but they are NOT a replacement for structured education around the Performance Engineering principles.

Due to the lack of existing accreditation, the Performance Engineering as a discipline is struggling to obtain the industry relevance it deserves.

We need a recognised Performance Engineering certification.

Why it’s needed?

Most Performance Engineers are self learned. Due to this, the learning curve is significant and it takes a long time to become an expert.

Lack of training about principles is leading to questionable…


We reduce the risk and total cost of a project by building software with performance in mind.

Performance problems are, in most cases, created at design, discovered at test and addressed at development. Building efficient software starts at the design phase.

Poor requirements result in poor design. We shall question and address poor requirements to avoid building inefficient software.

We shall estimate software performance based on the known factors and not wait until the software is built.

We shall plan and design for scaling and will not be victims of our success.

By forecasting our peak usage we will avoid…


How are you validating that you are not losing data at failure?

Photo by chuttersnap

Quite typically testing redundancy of highly available systems is carried out in the Operational Acceptance phase. A runbook of steps in the failure scenario is created and at testing phase the operator works through it. The validation that the failover has happened successfully is then carried out by post failure checks. Can I still access the site — check, systems is operable — check and so on. While this is all carried out someone might be manually checking the the system as the process is carried out, noting…


Complacency breeding failure?

Photo by Lukas Juhas

When a project has a solid foundation of performance engineering and there are no performance hiccups at production, it is sometimes the case that people start to wonder what are we paying the performance specialist for— we have no performance issues!

It is a bit like the infamous Y2K bug, when no planes fell down mid-flight people wondered what the fuss was about and why was all that money “wasted”. Indeed when your performance testing and engineering is well managed this should be the norm, business as usual — things being take care of.

Every now and…


When standard tooling is not enough

Photo by Denys Nevozhai

With performance testing of asynchronous services such as message systems, the standard tools typically will not give you the results you need. This is because the initial injection of load is only a fraction of total processing time. Your performance testing tool will accurately measure the time it took to initiate process but how do you measure the entire duration of the process?

If it is not important to understand the latency of each and every request, the simplest way of measurement is to push in all the requests or messages and then retrospectively…


Trend your performance from build to build.

A fundamental advantage of using an agile software development process that should also apply to performance testing, is the speed of feedback. Unit tests and system acceptance tests are run for each build, why wouldn’t your performance tests do so as well?

In this post I will go through the process of setting up performance tests at build, including the steps to:

  • create Gatling performance test scenario
  • write shell script step in Jenkins that executes the scenario
  • set up Jenkins Gatling plugin to publish the reports
  • write a simple Groovy post build script…


Your most dangerous employee?

Photo by Robert Bye

Confident, highly intelligent and well spoken workaholic. Involved in all important decisions, seems to have answer to everything yet avoids answering detailed questions about his methods. Highly argumentative, uses facts and figures to battle complex arguments. Takes few holidays, and sends emails at weekends. Monopolises conversations. Seems so crucial he must be irreplaceable.

Sounds like someone you know at your workplace? You probably dread meetings with him due to his judgmental and dismissive approach if you’re in an opposing view.

Every project I have worked at, there is always one, never more than one. He is…


A thousand fold improvement in 3 short steps?

One of my favourite descriptions of an approach to improving something is by arguably the greatest artist of all time, Michelangelo di Lodovico Buonarroti Simoni.

“The sculpture is already complete within the marble block, before I start my work. It is already there, I just have to chisel away the superfluous material.”

Atlas Slave by Michelangelo

We will now attempt to do is what was so succinctly put by Michelangelo to do to for a piece of code that calculates Happy Primes. We will start with a naive rough implementation and chisel away.

The following code…


Promoting performance engineering in your company feels like fighting the windmills?

If you have ever been told “premature optimisation is the root of all evil” in conversation when trying to promote performance engineering at your workplace, you are not alone. Absolutely all evil — really?

I cannot help to think that perhaps the often-quoted Donald Knuth have been widely misunderstood with his point when people parrot this one-liner — as they might not be aware of the full quote: “We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.


Fast system but slow pages?

Google PageSpeed Insights Report

You have run your performance tests, product has gone live, systems are looking healthy but people are complaining that your web site is slow…

So how come my performance testing did not tell me that the user experience is slow?

This might be surprising — but a typical performance test of a web application does not measure page speed (the time it takes for page content to load in a browser). Instead, testing ensures that the performance characteristics of the system under test are within expectations, i.e. the performance of your service layer code only.

There are several reasons why page speed is not commonly measured while performance testing.

Firstly, the…

Tomi Tiihonen

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store