DEV Community

Angel Lopez Bellmont
Angel Lopez Bellmont

Posted on

Which would be the best tool for, load-recording-testing?

In my company, we need to start to make some big performance test. And we need to record the traffic in the production-environment (monolithic java application).

We are using Gatling for some performance-tests.

Does anyone have any suggestions?
We are studying tools like: GoReplay, BlazeMeter, Gatling recorder ..

Top comments (5)

Collapse
 
jordangarrison profile image
Jordan Garrison

You could look at k6 (k6.io). It's Go-based and is extensible with JavaScript. I have used it extensively for distributed load testing and it has proven rock solid. It also ships a docker container which could be coordinated in a cluster type system (k8s/swarm/other).

It has a cloud option, but you can get most of the features with the open-source option and some engineering time on an orchestration tool. The basic premise is you write load test scripts in ES6 JavaScript which can be used to perform large, targeted tests of known high traffic endpoints.

For GoReplay, the main purpose is to replay traffic to lower environments. Currently, I have been working towards using that for replaying traffic on our systems and multiplying it, but most of that logic is not in the tool and needs to be built with some sort of orchestration platform.

For theoretical limits, K6 is my personal choice, Locust and JMeter are great as well, to let you target specific known points in the tech stack which fail first under load. For real traffic replay*, GoReplay is largely in a class of its own, but there is a lot of work if you don't have stored traffic in .gor files somewhere you can speed up or multiply.

*GoReplay requires you to work with middleware for authentication and other user cycle dependencies in the replay which can be a lot of effort.

Collapse
 
scriptmunkee profile image
Ken Simeon

Since you're a Java shop, have your looked into JMeter?
JMeter provides a way to replay recorded network requests and then parametrize the sessions where needed.

Beyond that, I highly recommend Locust. I use it at my company and had the initial performance script up and running in less than an hour.

Collapse
 
devdrake0 profile image
Si

Locust is a very good tool for performance/load testing. Depends if you are open to writing them in Python?

Collapse
 
angellopezbellmont profile image
Angel Lopez Bellmont

Hi Si,
Thanks a lot for your comment.

Yes, in principle we would have no problem to code in Python. But right now, we are giving a try (yesterday btw) to GoReplay tool. What do you think about GoReplay?
Regards

Collapse
 
devdrake0 profile image
Si

What do you think about GoReplay?

Honestly, I've never heard of it.