DEV Community

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

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.