Continuing on reviewing some performance test tools, today I am going to post a comparison of Jmeter and Artillery. Most people still prefer to use Jmeter as it has been longer in the market, but it is always good to check your other options and see what better fits for your project. I have used Locust and Artillery recently and they are also great tools easy to maintain and to create your scripts.
Just to remind again:
Jmeter is a great and powerful tool, but depending on what you really need (something more lighter) then Jmeter might become an overcomplex, slow, hard to maintain tool.
Jmeter | Artillery | |
In-built Protocols Support |
|
|
Speed to write tests |
|
|
Support of βTest as Codeβ |
|
|
Ramp-up Flexibility |
|
|
Test Results Analyzing |
|
|
Resources Consumption |
|
|
Easy to use with Version Control Systems |
|
|
Number of Concurrent Users |
|
|
Recording Functionality |
|
|
Distributed Execution |
|
|
Load Tests Monitoring |
|
|
Jmeter is most used when:
- You need to perform a complex load including different protocols
- If you need the script recording functionality
- Require that a full scenario be written for every test
- If you need to simulate specific load with some custom ramp-up patterns
- If you just prefer UI desktop app for scripts creation, or you just do not know Javascript/YAML/JSON well enough
Artillery solves some specific problems:
- You can write performance scripts pretty fast, there is even a “quick” mode (where you don’t need to create any script)
- Push to your VCS and easily maintain the scripts
- Artillery has WebSocket support out of the box and native support for Socket.io
- Spend minimum time on maintenance without additional GUI applications
- Simulate thousands of test users on local machine without the need to have multiple slaves as it uses Node.js is easier to install and lightweight
Resources:
2 thoughts on “Load Tests: Jmeter vs Artillery”