The Affordable Care Act began enrollment on October 1, 2013 for health care coverage beginning on January 1, 2014. Health care consumers are directed to log-on to the healthcare.gov website (see Figure 1), call, or show up in person. Over 2 million people have accessed the site in the first two days, many experiencing errors or delays (which the media is characterizing as “glitches” and “growing pains”). Let’s take a closer look at the healthcare.gov website to see how its performance can be improved.
Users are directed to apply for their new health care plan by clicking on the “Apply Now” button. The page seems to hang on an external resource from polldaddy.com (see Figure 2).
Create Account – Please Wait
Moving through the process, create an account is next. For many early users (tested on the afternoon of Oct. 1) this
brings up a “Please Wait” screen (Figure 3).
Eventually the create an account screen comes up.
Why Is Healthcare.gov Slow?
Let’s take a deeper look at what is slowing down the site (besides the large amount of traffic) and what could be done to improve the website’s performance. A benchmark timing shows nearly 0.9 second TTFB, a start render of 2.7S, and a fully loaded time of 6.9 seconds on a DSL modem. These times are slower than HCI guidelines (1-2 seconds for start render, etc.) (see Figure 4).
Running the home page through a couple performance tools shows similar results (see Figure 6). YSlow gives a grade of “C” (76/100)
Pagespeed gives a higher score of 92/100, with leverage browser caching, defer parsing of JS, and optimize images as the top issues (see Figure 7).
Top Performance Problems
With this brief look at the performance issues of the healthcare.gov site a number of issues appear.
- Too many HTTP Requests (46)
- Use of large offsite web fonts
- Poor caching of resources
- Use of offsite third party widgets
- Slow TTFB times
- Uncompressed images (251K total, 75K could be saved losslessly)
- Use of SSL resources on non-secure page
- Unminified JS and CSS files
The site could trim many K without much change in appearance (minify text files, avoid web fonts, etc.) and speed up the performance for its millions of users. Here are some highlights.
- Cache static objects – include expiry headers
- Optimize images (75K saved), see a sprite in there good
- Avoid web fonts (especially offserver ones) to minimize TTFB, use standards instead
- Replace or combine JS files with CSS behavior (jQuery is overkill for these drop-down menus)
- Minify JS, CSS, and HTML files
- Improve Time-To-First-Byte times (0.9S!)
- Beef up server(s), use a CDN
- Localize or replace or eliminate off-site widgets (these cause uncertain and unnecessary connect time, TTFB delays)
- Avoid SSL resources on unsecure pages
This article evaluates the website performance issues of the healthcare.gov site, and offers some solutions to improve speed. A brief analysis (there is much more that could be done, including a code review) showed a number of issues that could be addressed to improve the user experience.