In this release we update NGINX to the brand new 1.13.9 version which adds HTTP/2 Server Push support. Server Push enables you to send parts of your site to the browser before it even asked for it, which if used correctly can boost your site’s performance.
HTTP/2 Server Push on Hypernode
Last week the new 1.13.9 release was tagged which contains the newly added functionality. After recompiling our packaging and testing, we have added the new version to our internal repositories and it will be gradually deployed to all Hypernodes over the course of this week.
To check if your Hypernode has already been updated to the new version you can run this command:
$ dpkg -l | grep nginx-common | awk '{print$3}'
How to use Server Push with Magento
HTTP/2 has been available on Hypernode for a while now for sites with SSL but unlike the Apache HTTP Server, Server Push did not exist yet in NGINX. Server Push can be used in Magento by use of external modules like Yireo ServerPush.
You can also configure asset pushing from your NGINX config. For example:
cat << EOF > /data/weg/nginx/server.serverpush
location = /test.html {
http2_push /hypernode.png;
}
EOF
After this NGINX configuration has been loaded by the NGINX config reloader it will push hypernode.png
from the webroot when test.html
is loaded. You can check this with nghttp from the nghttp2-client
package on Debian derived systems.
# nghttp -ans https://.hypernode.io/test.html
***** Statistics *****
Request timing:
responseEnd: the time when last byte of response was received
relative to connectEnd
requestStart: the time just before first byte of request was sent
relative to connectEnd. If '*' is shown, this was
pushed by server.
process: responseEnd - requestStart
code: HTTP status code
size: number of bytes received as response body without
inflation.
URI: request URI
see http://www.w3.org/TR/resource-timing/#processing-model
sorted by 'complete'
id responseEnd requestStart process code size request path
13 +1.84ms +157us 1.68ms 200 106 /test.html
2 +15.57ms * +658us 14.91ms 200 20K /hypernode.png
For the complete NGINX changelog click here. The previous version on Hypernode was 1.13.5
.