Sparkling gems and new releases from the world of Free and Open Source Software
Web testing
Artillery probe
Artillery is a huge project worthy of its own tutorial. It's an open source networking testing suite with a supported professional version that's been built to battle-test web services. Artillery is comprehensive and complicated and has probably been designed to be used with some form of continuous integration system for web server deployment. As a result, while the whole project might be too overwhelming for most non-DevOp Linux users, Artillery has pockets of functionality that almost any of us can use. This is particularly true of the latest release, which adds a very useful command that should really be its own project and that almost anyone who enjoys messing around with Linux will find useful. The full command is artillery probe
, and it's brilliant for testing both your local network performance and that of any websites you might want to quickly test.
The crude and slow method of testing websites for their availability and performance is to use the curl
and ping
commands. While curl
is powerful and can be shoehorned into almost any HTTP-related task, ping
is useful to give some initial indication of response time. But all of this can be replaced by Artillery with the probe
argument. By default, it takes a domain name and returns the time it takes to perform several important steps: 1) the initial DNS lookup, 2) the TCP connection, 3) the SSL handshake, 4) the first byte transferred, and finally, 5) transferring the site content. All of this is shown in a text-rendered cumulative waterfall diagram, much like the output from http stat
. Most important, probe
can also send and receive all kinds of HTTP requests, just like curl
, even optionally using JSON for formatting. This makes it much more practical when dealing with REST API calls than the equivalent incantation through curl
, and much easier to automate from files containing JSON.
Project Website
Network monitor
Buy this article as PDF
(incl. VAT)