Shipping Friday updates are back after a short hiatus! We were so busy shipping we didn’t manage to ship Shipping Friday updates. Oops.
So, what’s been happening?
Work on Artillery v2 is underway. The most notable thing we shipped recently are multithreading, updates to the WebSocket and Socket.io engines, and solo mode.
Multithreading is on by default and should just work. Expect to see higher throughput on systems with more than one CPU. We’re making use of the relatively new
worker_threads API in Node.js under the hood to distribute VUs across multiple CPUs, but as a user you don’t need to worry about that or configure anything.
We’re trying to keep existing plugins fully backwards-compatible with the internal changes that needed to be made for multithreading support. If a plugin you use breaks, please file a bug in Artillery’s issue tracker.
WebSocket and Socket.io engines got a long-overdue revamp. WebSocket engine now supports using a proxy, and provides for a way to set custom connection options. The Socket.io engine has full support for Socket.io v3 & v4 now.
The solo mode is enabled with the
--solo flag for the
run command, and what that does is override any existing phase definitions to run exactly one virtual user. This is very handy when combined with the
expectations plugin for running functional and smoke tests with Artillery.
All of this is just an
npm install artillery@dev away.
First, anyone can now try Artillery without needing to install anything, right from their browser.
Second, the REPL is handy for writing new Artillery scripts. Write & tweak your script in the editor, run it, and see the results right there next to the editor.
Third, we’re excited about improving Artillery’s docs with the REPL. We can now provide runnable examples right there in the docs. You might’ve seen some of those already, e.g. in the docs for the expectations plugin.
Finally, the REPL can be used to explore of provide examples for any public API. For example, should you ever find yourself in need of a cat fact, just run this REPL example.
Until next time,