Free tools to test self-hosted Internet services

F

Whenever I evaluate a candidate for a new server provider, migrate to one, or explore new services1, I use a series of freely available online tools for many test.

I have noticed that I tend to forget some of these tools or their website. So, I collected them once and for all on this page, for future reference.

Server reachability and global availability.

  • ping.pe Pings and conducts mtr tests, with dozens of servers from all around the world, against a given domain or IP address.
  • mtr.sh Looking glass as a service: ping, mtr, traceroute, and dns propagation using multiple, selectable, and globally distributed servers.
  • whatsmydns.net Global DNS propagation service. Allows the input of a domain and the DNS record type to be queried.
  • dnschecker.org Global DNS propagation service. Allows the input of a domain and the DNS record type to be queried.
  • dnsmap.io Global DNS propagation service. Allows the input of a domain and the DNS record type to be queried.
  • dnsperf.com/dns-speed-benchmark Benchmarks nameservers for a given domain.
Propagation of the DNS SOA record for ineed.coffee.

DNS specific utilities

DNSinspect scores for ineed.coffee.

Security specific utilities

  • ssllabs.com/ssltest Checks the status of SSL/TLS certificates for HTTPS, including supported cyphers and handshakes with different systems.
  • securityheaders.com Provides an overview of a Web server’s HTTP Security Headers.
  • hardenize.com Scans a server and provides a high-level overview of various security issues including DNSSEC, SPF and DMARC for a mail server, SSL/TLS for Web and e-mail servers, and security headers.
  • internet.nl Similarly to Hardenize and Securityheaders but includes IPv6.
HTTP security headers reports for ineed.coffee

Performance specific utilities

  • tools.pingdom.com Website speed test from 7 locations. It sometimes struggles to detect some HTTP compression.
  • web.dev Performance, accessibility, best practices, and SEO scores, by Google. Make sure to read the produced Lighthouse report after seeing the scores, for understanding what to improve on.
  • gtmetrix.com Website performance audit with Pagespeed and YSLOW. Performs its evaluation using real browser engines from 7 locations. Breaks down the two Pagespeed and YSLOW scores by categories and what can be improved. It provides very interesting waterfall representation of all loaded resources and specifics on what takes longer to load.
  • webpagetest.org Like gtmetrix, but on steroid. Several locations around the world, real website loading (performed three times each run) from a browser (several can be chosen), and it even provides a video recording of how the browser sees the page. A to F scores on security and performance related aspects. Several data visualization tools are provided, including a waterfall load of resources. They wrote a boot about it.
  • tools.keycdn.com Several tools including a website speed test like those mentioned above. Perhaps the most interesting is the performance test, which, in contrast to the website speed test, provides a short and quick test from 11 locations on how fast it gets to connect to your server, broken down by DNS request, connection, TLS agreement time, and time to first byte.
  • loader.io Simulates that your website (or web service) goes viral. Several website load simulation are possible (they use real connections from real machines), for example “grow access to this web page from 1 to 1000 requests per second in one minute”. The free version is limited but able to provide a fair first evaluation.
GTmetrix Pagespeed and YSLOW scores for a ineed.coffee page with many pictures.

Something critical when you start going down the rabbit hole of server testing.

Never compromise usability of a service for a 10/10 score.

To reach a 100% YSLOW score at GTmetrix, for example, I might have to use some caching policies that would make my website not display properly for some visitors, sometimes. Yet, the page fully loads under two seconds. I do not need a 100% score.

Some complaints from tools might not be what you are looking for. DNSinspect, for example, does not give me a full score. I chose to have my master/primary nameserver, NS1, not to respond to queries from the public, while having all secondary/slave nameservers, NS2 to NS3, respond to public queries. This is a standard practice, but DNSinspect will complain that NS1 does not respond.

Use metrics as coarse indicators of good and bad practice, and stop whenever you can see that everything works just fine.

  1. As an example, right now I am exploring self-hosting of my nameservers.

About the author

dgraziotin

Dr. Daniel Graziotin is a senior researcher (Akademischer Rat) at the University of Stuttgart, Germany. His research interests include human, behavioral, and psychological aspects of empirical software engineering, studies of science, and open science. He is associate editor at the Journal of Open Research Software and academic editor at the Research Ideas and Outcomes (RIO) journal. Daniel was awarded an Alexander von Humboldt Fellowship for postdoctoral researchers in 2017, the European Design Award (bronze) in 2016, and the Data Journalism Award in 2015. He received his Ph.D. in computer science at the Free University of Bozen-Bolzano, Italy.

Add comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

About Author

dgraziotin

Dr. Daniel Graziotin is a senior researcher (Akademischer Rat) at the University of Stuttgart, Germany. His research interests include human, behavioral, and psychological aspects of empirical software engineering, studies of science, and open science. He is associate editor at the Journal of Open Research Software and academic editor at the Research Ideas and Outcomes (RIO) journal. Daniel was awarded an Alexander von Humboldt Fellowship for postdoctoral researchers in 2017, the European Design Award (bronze) in 2016, and the Data Journalism Award in 2015. He received his Ph.D. in computer science at the Free University of Bozen-Bolzano, Italy.