Web Performance Testing with Sitespeed.io

Tachometer

Getting Started

The quickest way to get up and running with sitespeed.io is to install globally with either npm or yarn.

$ yarn global add sitespeed.io --prefix /usr/local

You'll now be able to run sitespeed.io from your command prompt. Let's test to make sure it installed correctly and is available globally in your PATH.

$ which sitespeed.io

Which should output something like

/usr/local/bin/sitespeed.io

What is Sitespeed.io?

Sitespeed.io is built atop multiple Open Source projects and offers a highly configurable cli with options for just about every aspect of the tool. You have the choice of running the reporting locally or using their Docker container on your own infrastructure for real-time measurement amongst other uses.

After running a test, the reports will be output as HTML that you can view in a local webserver or publish online. Also, there are integration options Grafana , InfluxDB , and Graphite.

How to Use

The simplest way to get started is running the cli from your command prompt. Once installed, it’s as easy as this:

$ sitespeed.io https://www.pixelsonly.com

While the default settings are good, more than likely you’ll want to change a few of them. In my opinion, there’s very little reason to not test performance with a mobile-first mindset, here’s an example.

$ sitespeed.io --connectivity 3gfast --mobile --verbose https://www.pixelsonly.com

Using the —mobile flag is a handy shortcut that sets up Chrome with device emulation as an iPhone 6. If you’re interested in emulating another device, you’ll need to read the Browsertime documentation and set a few other flags manually. One option that I plan on investigating is the ability to set Chrome’s CPU throttling ability, which would be helpful in yielding more accurate metrics.

How is this compared to Lighthouse?

The Google Chrome team built a tool called Lighthouse that performs a similar set of performance measurements. The main differences with Lighthouse is that it’s geared more towards progressive web applications, offers simpler reporting output, and has fewer built-in integrations. However, it’s simplicity is quite nice and it’s definitely worth checking out.