Performance analysis - diazsandra/todo-list-app GitHub Wiki
TO DO LIST APP
Network Performance
This is where we test how fast the site loads which includes loading all the resources for the site.
Test conditions
Network throttling has for all tests been set to 6Mb/s which is half that of the average connection speed in most developed countries. This is to ensure that the performance is measured against a realistic experience - which is that a large percentage of users have below average network speeds. Cache has been disabled to best reflect what a user will experience when visiting the site on first visit.
Loading
It takes 0,6 seconds before the site is functional. This is good
DOM Content
Many resources being downloaded. Many resources being downloaded from same domain. 12 resources are being downloaded from the same domain. Render blocking resources being downloaded in head. Stylesheets in head.
To see the entire audit click here.
Possible optimizations
-
General resources - Change server to HTTPS which will allow for more open connections per domain. HTTPS also allows for pushing additional resources to the client on initial connection - removing the need for the browser to send additional requests for these.
-
Scripts - Use only minified scripts and included JavaScripts are not minified
-
Bundle JavaScript files that are controlled by us This will avoid multiple server requests. After bundling, the file may be fetched as early as possible by preloading it using a link tag - this is code needed to actually use the todo list on the site.
-
Styles - Keep only critical style inline in head and fetch the rest using preload. Fetching stylesheets is render blocking unless it is done programatically or via a preload link.
TO DO LIST ME
Network Performance
This is where we test how fast the site loads which includes loading all the resources for the site.
Test conditions
Network throttling has for all tests been set to 6Mb/s which is half that of the average connection speed in most developed countries. This is to ensure that the performance is measured against a realistic experience - which is that a large percentage of users have below average network speeds. Cache has been disabled to best reflect what a user will experience when visiting the site on first visit.
Loading
It takes 13 seconds before the site is functional. This is in large due to the following:
DOM Content (content of the root document)
- Many resources being downloaded
- Many resources being downloaded from same domain (most
- Images are being downloaded from todolistme.net
- Render and parsing blocking resources being downloaded in head/body
- Stylesheets in head
- JavaScripts in body (before end)
- Additional resources included by JavaScripts and stylesheets
To see the entire audit click here.
Possible optimizations
- General resources - Change todolistme.net to HTTPS which will allow for more open connections per domain (simultaneous downloads).
- Scripts - Move or defer parser blocking scripts. These are scripts that are located mid-body which causes the HTML parser to stop when it reaches them. The parser will then have to fetch and parse each script before continuing with parsing the HTML.
- These are ads and like buttons for social medias and should be moved to the end of the body or at least deferred.
- It may cause a long time spent parsing the HTML, because it changes dynamically.
- Use only minified scripts - jquery-ui is included as a non-minified version.
- Bundle JavaScript files that are controlled by todolistme.net
- This will avoid multiple server requests.
- Styles - Keep only critical style inline in head and fetch the rest using preload.
- Fetching stylesheets is render blocking unless it is done programatically or via a preload link.
- Images - Gather all icons in a sprite to avoid multiple server requests. Use newer image types as JPEG 2000 or JPEG XR which has better compression than PNG or JPEG.
- Runtime Performance - This is where we test how fast the site responds when being used.