Need advice about which tool to choose?Ask the StackShare community!
Gatling vs Apache JMeter: What are the differences?
What is Gatling? open-source load testing framework based on Scala, Akka and Netty. Gatling is a highly capable load testing tool. It is designed for ease of use, maintainability and high performance Out of the box, Gatling comes with excellent support of the HTTP protocol that makes it a tool of choice for load testing any HTTP server. As the core engine is actually protocol agnostic, it is perfectly possible to implement support for other protocols. For example, Gatling currently also ships JMS support..
What is Apache JMeter? An open source load testing tool. It is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.
Gatling and Apache JMeter can be primarily classified as "Load and Performance Testing" tools.
Gatling is an open source tool with 4.3K GitHub stars and 918 GitHub forks. Here's a link to Gatling's open source repository on GitHub.
Streamdata.io, SpectoLabs Ltd, and StellaService are some of the popular companies that use Gatling, whereas Apache JMeter is used by MIT, Athento, and Betaout. Gatling has a broader approval, being mentioned in 21 company stacks & 14 developers stacks; compared to Apache JMeter, which is listed in 17 company stacks and 8 developer stacks.
I have a team that is not heavy on programming skills. I am looking for a load testing tool that is easy to use. Preferably, the tool should be a record and playback tool without much programming. Also, the tool should be able to test APIs apart from web-based applications. What tool should I opt for?
My choice would be Apache JMeter, It's free and opensource plus it comes with lots of plugins and extendability. Apache JMeter needs a small amount of a learning curve and a basic understanding of Network, Protocols (TCP/IP ports, HTTP(S) and REST/SOAP, etc.) for initial setup. But it doesn't require programming skills. it has a nice record and playback option. You can still carry on without the developer skillset if you follow these steps. 1. Take backup. 2. Start recording and interact with the application. 3. stop recording and save the test case. This will give you your test-bed, after this, after these steps, every time just do Restore from backup and then Playback and observer results.
If you have longer recordings then an understanding of how to modify the recorded scripts will come handy.
For some of the advanced features such as Configuring variables, implementing loops, throttling adding think time, and automating test scaling to the number of users will require good planning of test scenarios and a Developer experience but this is true for any tool (even loader.io)
Disclaimer: I work at k6, and I recommend you try our tool.
It might require some coding skills, but we support a few options to record a user session to autogenerate the load test. Read How to record a browser session with k6 OSS.
The k6 Cloud also supports recording a user session with a Browser Extension. Additionally, it provides a Test Builder UI to generate a load test for testing APIs.
If you have questions or need help, you can ask on Slack and the Community forum.
Pros of Gatling
- Great detailed reports6
- Can run in cluster mode5
- Loadrunner5
- Scala based3
- Load test as code2
- Faster0
Pros of Apache JMeter
- Requires no programming knowledge5
- Supports distributed3
- Open-source2
Sign up to add or upvote prosMake informed product decisions
Cons of Gatling
- Steep Learning Curve2
- Hard to test non-supported protocols1
- Not distributed0
Cons of Apache JMeter
- It's GUI-first1
- Too complicated1