The average size of a web page has been growing at an accelerating rate over the last few years. Last week, when the open-event webapp was tested, it was very slow to load because of loading 67.2 MB data ( which contained audio and image files ) on the web page.I have taken following steps which are good to read to make any web application load faster.
1. Stop preloading of audio files
The HTML5 audio player loads all audio files by default on the page. To stop this we have to change the code as
<audio controls preload="none"> <source src="{{audio}}" type="audio/mpeg"> </audio>
Setting preload option to none help us to load audio only when it is clicked. Hence it decreases the HTTP calls and decreases the page loading time.
Previously
Network tab with Audio files takes 68.0MB load and 13.6 minute loading time.
Now
Network tab with option <audio controls preloaded=”none”> takes 1.1 MB load and 1 minute loading time. This was a huge improvement but more optimizations can be done.
2. Using Compression Middleware
Express compression middleware works like a charm by compressing the response coming to the web page. It is too simple to add.
$ npm install compression
var compression = require('compression') var express = require('express') var app = express() // compress all requests app.use(compression()) // add all routes
This has compressed the responses and decreased the page load time.
3. Reduce the number of HTTP requests
Another great way of speeding up your web pages is to simply reduce the number of files that need to be loaded.
Combine files
Combining multiple stylesheets into one file is a really useful way of eliminating extra HTTP requests. This strategy can also be adopted for your JavaScript files. A single larger CSS or JavaScript file will often load quicker because more time can be spent downloading the data rather than establishing multiple connections to a server.
After such optimizations, the webapp loads now in 8-15 seconds with DOM loaded in 2 seconds.
The result of these optimizations are awesome. We can test the page speed by using various tools like pagespeed, speedtracer etc.
What about image optimization?
What do you use for image optimization?
Hi, we are currently looking for image optimization, I have tried image-min npm to make it easier.