This document discusses client-side performance testing. It describes measuring client-side performance through synthetic monitoring tools like WebPageTest.org, SiteSpeed.io and ShowSlow which test page load speeds, and real user monitoring through Akamai RUM, Monitis RUM and Google Analytics. WebPageTest.org is demonstrated in more detail, showing how to use it to test pages and understand key metrics like time to first byte, time to start render and full page loaded time. Private instances and automation of WebPageTest is also covered. YSlow and Google PageSpeed are also mentioned as alternatives for measuring client performance.
8. Caching!
In computing, a cache (/kæʃ/ KASH) is a component that stores
data so future requests for that data can be served faster; the data
stored in a cache might be the results of an earlier computation, or
the duplicates of data stored elsewhere.
16. WEBPAGETEST – HOSTED SOLUTION
Advantages
Ø Free to use
Ø Global spread
Ø Caters to current web development practices /
approaches (responsive / lazy loading / etc.)
18. IMPORTANT METRICS
What to
Measure?
WebPageTest
Metric
Explanation
First
reaction
Time to First
Byte (TTFB)
Time from the start of the initial navigation until the first
byte of the base page is received by the browser (after
following redirects).
Content
appears
Time to Start
Render
Time from the start of the initial navigation until the first
non-white content is painted to the browser display.
Page
processing
completed
DOM Content
Ready End
The point when the HTML parser has reached the end of
the document which means it has executed any blocking
scripts. The CSSOM may not be complete yet.
Full page
loaded
Doc Complete
Time
The onload event which fires when all of the scripts, css and
images defined in the HTML have finished loading
(including below-the-fold content).
Refer to WebPageTest documentation for more details:
• https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/metrics
• https://sites.google.com/a/webpagetest.org/docs/advanced-features/raw-test-results
19. WEBPAGETEST – HOSTED SOLUTION
Disadvantages
Ø Need to get in the queue of currently executing tests
Ø Can run only against publically available URLs / pages
Ø Limited automation using REST APIs
20. WEBPAGETEST – PRIVATE INSTANCE
Advantages
Ø Free to use, Open-source
Ø Can run multiple scenarios in parallel (limited by number
of agents configured)
Ø Can run against public and private available URLs / pages
Ø Results available for as long as configured
Ø There is no limit on number of tests run per day
21. WEBPAGETEST – PRIVATE INSTANCE
Disadvantages
Ø Need to setup the WPT server and WPT agents in our own
infrastructure, or in AWS
22. WEBPAGETEST - AUTOMATION
Ø REST API calls
Ø Poll for results / implement call back
Ø Parse summary / detail CSV file to do assertions /
validations
Challenges
Ø Managing infrastructure
Ø Polling for results can be time consuming and error prone