+1 (617) 7782998 |

In-Place Resource Optimization


virtually risk free web optimization

As of version 1.1.6, we have a new optimization option in IISpeed call In-Place-Resource-Optimization (IPRO). With IPRO, assets that are loaded directly, for example by javascript code, still get optimized.

In-Place Resource Optimization works by serving optimized resources from the original URL, as opposed to the normal mode of operation, where resources are served from rewritten and optimized PageSpeed URL. This URL rewriting does generate a lot more optimization opportunities as it places the asset in context of the user-agent and surrounding page, but comes with  a cost of a slight chance of breaking scripts on a small set of websites, and is only possible after inspecting how they are references via the HTML. IPRO is still able to do some per-user-agent optimizations, by indicating variability of resources at the HTTP level. So, for example, it is still possible to convert from gif, jpeg or png to WebP format for images. Or serve lower-res images to mobile user agents.

This new mode can be combined to augment IISpeed's classic optimization mode, but also is a first step toward a full new optimization mode, that targets bandwidth reduction at a minimal chance of breaking websites. This provides a great "optimization is on by default" option for hosting providers where the product can be installed and enabled on all websites without having to worry about site breakage. We will also be looking into an option that will disable html parsing completely in this mode, to minimise the associated computing cost.

Technically, the way IPRO works is that IISpeed performs an asynchronous cache lookup for each request on a webserver, to see if the asset was seen earlier. If it turns out it was not seen earlier, the resource will be recorded and send into Google's PageSpeed optimization libraries for optimization. That will result in either an entry with the optimized asset in the cache, or an entry indicating that optimization was declined (for example, when the response was a zip file). The next time the same url is requested, the initial cache lookup will result in either an optimized asset which will be served immediately, or a fast decline from cache, in which case IIS will resume its normal flow and serve the original asset.

IPRO is enabled by adding a single line to the IISpeed configuration:
IISpeed InPlaceResourceOptimization on

The IISpeed release 1.1.6, which offers IPRO, is due next tuesday, february 25th.
Documentation for In-Place-Resource-Optimization can be found here.

Share View Comments