Load Times for 50+ sites
Handling 50+ sites can be a bear.
I didn’t need a way to tell if our sites were up. UptimeRobot had me covered. What I needed was to know was whether the sites were loading slow, and how slow.
Running webpagetest.org, GTMetrix or Pingdom tests would happen at scheduled intervals at best, and not from browsers with 34 other tabs open.
I needed a way to get raw load-time data, and see the trends. Setting cold hard alerting thresholds would just cause panic.
Of course, Real User Monitoring isn’t a new idea: New Relic has a great Browser product for $50/month, but where’s the fun in that? I had spare time, and a small budget, so I made my own.
Turns out, browsers have built-in load-time data. After a few months of consistent data, I needed something better than Google Charts to help me get usable information out of the now-gigabytes worth of raw browser timings. Domo provided a pre-built, all-in-one Data ETL/Visualization platform for free!
The Data Pipeline:
- My Custom Code:
- Instrumentation:Javascript tracking is added to each site.
- Collection:Data is sent to a simple endpoint which saves the raw JSON data.
- Extract:Those JSON files are batched hourly to be compiled into a CSV and uploaded to Amazon S3.
- Domo:
- Transform & Load:Domo pulls in the S3 source and pushes changes through an easy to configure data-cleanup and tabling process.
- Visualization:Being able to create multiple versions of the same chart is helpful: often I need a good clear chart for easy communication, a simple chart for alerting data, and another one with “the works” that shows comparisons which could be shown easier elsewhere.
- Dashboards:Grouping charts into a single place, and exporting them all out to Powerpoint or other formats allows for easy offline sharing.
- Alerting:Domo keeps alerting simple: for any chart made, you can sign up an alert if anything changes by a given percent or deviation.
Here’s an example of 3 high-to-lower level charts that keep me aware of site performance. We’ll start by looking our sites with enough traffic to be significant, for the past 10 days:

Latest 10-day Page Load Times
The percentage of users who experience page-loads under a given set of seconds.
Our goals are that 60% of users will experience page-loads under 1 second, and 80% under 2 seconds.
Singling out eastlakegolfclub.com, we can see how the latest week compares historically over the last year. Looking further, I’m also able to provide performance information on a per-page level.
Weekly Historical View for East Lake:
Average page load-times are around the 60% / 80% goals.
The first few months were their prior hosting.
Per-Page Page Load Data for East Lake.
The black line shows the number of views each page received, most-visited is on the left.
Even if I needed a larger scale with custom Python or R scripting, Domo provides an excellent platform on which to quickly iterate, explore and log what transformations & visualizations might be needed.
Right now, I get twice-weekly email alerts if any site has degraded performance.
Take-away:
At-a-glance insights of live data regarding technical aspects of our sites can provide more valuable direction than other testing methods.
Data-based decisions have started a self-reinforcing landslide of how I think about website production.
I get really excited to see real data about how our client sites & our code perform.