Earth Notes: On the MachMetrics Site Speed Monitoring Tools: Review

Updated 2019-08-31 19:31 GMT.
A simple unfussy toolset that I've been using on its free tier for about a year to monitor EOU speed trends.
WWW and M dot load time from Frankfurt year to 20190324 screenshot
I use a number of tools, local and Web-based, to keep an eye on EOU's performance. MachMetrics is unfussy and reliable and just does its thing automatically every day, with an actually useful weekly email summary. Bravo!

Review

  • MachMetrics Site Speed Monitoring Tools
  • Reviewed by: Damon Hart-Davis on 2019-03-24.
  • Does what it says on the tin, effectively and reliably.
  • Gathers metrics daily for me for two views of my site. Had a very quick initial payoff, helped me keep an eye on the results of various styling changes over a year, and may just have spotted a subtle creeping DNS issue. Nothing to fault at all!
  • Rating: 5 out of 5

I use or have tried many site speed test tools with EOU, some of the best of which I list, such as: WebPagetest, PageSpeed Insights from Google, Pingdom Website Speed Test, and GTMetrix.

Signup

I saw MachMetrics, and being a cheapskate, signed up for the free plan, April 2018, with the maximum of 4 tests. I test the home pages of the desktop/www and lite/m-dot EOU sites, as desktop and mobile.

I had a good initial experience when MachMetrics helped me to very quickly see where some fat (~30% of page weight) needed trimming, hurrah!

The site is fast and responsive and easy to navigate.

Site: Online Reports

The site opens at login to the "All Urls" dashboard view, with more detailed views for each URL monitored, "m" and "www" in my case.

Each of those has tabs for "Overview", "Resources", "Improve" and "Log". I mainly spend my time in the Overview, but Resources lets you see the (slowest) resources loaded to render the page by time and bytes, and Log lists all the timings and lets you click through to the underlying measurement platform (Web Page Performance Test, aka WebPageTest) for recent entries.

By default data is shown for the last 7 days, but a simple menu pull-down can set that to 30 or 90 days, or a full year. Simples!

MachMetrics WWW metrics 20190324 screenshot

(I'm writing this review while still just within the first year window. It would be nice to be able to for example download the first year's log data before it starts expiring, but I can't currently see how without scraping it, which I'd rather not.)

Currently full home page weight is reported on the dashboard as 28kB for m-dot and 67kB for desktop, with page display time a little over 0.5s for desktop and a little under for m-dot.

One of the nicer charts (though I wish that it wasn't suggesting an upward drift) is that of various metrics (for www and for m-dot) from TTFB to "page complete", over time. Lots of tools show them; this view is especially easy to absorb!

Various graphs and tables and summaries are shown; useful stuff, no fluff. Someone has thought hard about this. Well done.

Sample Weekly Email Reports

WWW and M dot site performance over a month emailed 20190311 from MMWWW and M dot total page weight emailed 20190311 from MMWWW and M dot load time from Frankfurt emailed 20190311 from MM

MachMetrics' sends simple, brief and to-the-point emails with the important bits in text. (And only a very little light marketing/sales messaging stirred in, be still my GDPR beating heart...)

There are embedded images, but I never see them since I have all such remote content in emails blocked to prevent tracking. (Having manually checked them for the most recent email, they look useful.)

From 2018-04-23:

Your 2 urls combined earn a GRADE A+. Their average speed of 0.49 s is in the 99th percentile of the 584 urls being tested. You are trending THE SAME compared to the previous week (0.45 s to 0.45 s).

From 2019-03-18:

Your 2 urls combined earn a GRADE A+. Their average speed of 0.56 s (last 30 days) is in the 100th percentile of all urls being tested. You are trending THE SAME compared to the previous week's average (0.55 s last week to 0.58 s this week).

TTFB Puzzler

M dot TTFB climbing 20190324 screenshot

I was provoked to start writing this piece because of a curious feature in one of the metrics reported, for both www and m-dot sites. The TTFB (Time To First Byte) is shown as rising from about July 2018. But why?

My HTML pages have been getting a little bigger as I have been adding a few more images and a bit more structured markup metadata to most of them. However, the files should be being served precompressed as binaries with no work to do up-front, so this should have no bearing.

The number of pages I'm hosting is going up slightly, so is directory search time going up when pages are being served? Seems unlikely.

Is an increasing volume of robotic break-in attempts by bad actors slowing things down? Seems unlikely, since they are sporadic, and there should be plenty of capacity.

Is my SD card wearing out and about to fail? I hope not!

Is MachMetrics' server (or network route to me) getting slower? Difficult to tell!

Is the stat being shown as TTFB actually TTLB (Time To Last Byte), or something else, especially as it seems to be higher than the 'interactive' metric in a few places!

MachMetrics lets you click through the logs to the Web Page (Performance) Test backend results pages, for which it seems to hold about 3 months' worth. The TTFB looks genuine. What may be going on, looking at data for mobile access to the m-dot site (2019-01-23 DNS Lookup: 30 ms Initial Connection: 62 ms Time to First Byte: 73 ms Content Download: 10 ms Bytes In (downloaded): 6.4 KB Uncompressed Size: 16.3 KB, vs 2019-03-24 DNS Lookup: 110 ms Initial Connection: 61 ms Time to First Byte: 70 ms Content Download: 9 ms Bytes In (downloaded): 6.4 KB Uncompressed Size: 16.4 KB) is that DNS resolution is getting slower, and that should be checked out!

If MachMetrics has spotted a real subtle creeping performance problem, then it will have demonstrated its worth.

Excerpts from MachMetrics Response

I received a swift (allowing for timezones) and very kind response from Shane at MachMetrics when I shared my review with them. Shane also gave me access to download those logs, which I gather I wouldn't otherwise have access to on "free": thanks!

Wow, thanks so much for the review! I loved hearing your perspective and the screenshots really get your points across. Glad that you've found it so useful :) ...
In regards to your TTFB mystery, I can assure you that the testing agents are not getting slower ... [screenshot showing the opposite] ...
I wish I could spend time looking into this further with you and giving you some optimization suggests, but honestly you have such a killer fast speed already that there's very little to do to optimize. I see DNS lookups as fast as 30ms, which is great - and having a TTFB of below 200ms is pretty stellar. Be proud of this!!

...

Lastly, I saw your comment on the Time to Interactive being faster than TTFB in some cases, and I have to admit that looks wrong. I'm digging into this right now - my hunch is there's a bug collecting that stat from WebPageTest.

For his amusement I replied to point out that "this site (and others, plus mail server, repos etc) runs on an off-grid solar-powered Raspberry Pi in my kitchen cupboard. I don’t always beat Cloudflare when serving content to UK customers, but I often do!"

M dot TTFB climbing corrected screenshot

A few days later Shane came back to me and said:

You were correct about the Time to Interactive being off. Sometimes WPT can't calculate it (probably if it's too fast!) and returns 0.

I've updated our system so it will exclude those 0 from averages and graphs. Your new yearly chart looks like this.

Interesting! I shall have to look out for that effect when using WPT directly.

Later

(2019-06-22: reported TTFBs seem to be creeping down to/under 200ms without any significant action on my part, and seem to be quite variable anyway, which inclines me to think that the rise was a WPT artefact. The only intervention that may have made a difference is running by hand a few times weeks apart sudo fstrim --verbose /local or equivalent, and there was no immediate difference seen afterwards. Other tests, without simulated throttling, see TTFBs well under 200ms.)

MachMetrics WWW metrics 20190831 screenshot(2019-08-31: reported TTFB seems to be back down to ~200ms now. And parameters other than 'Interactive' are better than a year ago. It's all a mystery...)