Page MenuHomePhabricator

Support ESI for ResourceLoader
Closed, DeclinedPublic

Description

Roan and Trevor are doing great work on the resource loader to
combine/concatenate resources served from bits in as few, and as small requests
as possible. To do this, they introduce an intermediate step however, the
request of a "manifest" which determines which versions of styles/js to load.
Unfortunately this introduces an extra round trip before the resources can be
loaded, which wouldn't be there if the manifest could be part of the html
(article) page.
With the current caching system we cannot really do that since it would cause
all cache misses, however both Squid and Varnish support ESI:
http://en.wikipedia.org/wiki/Edge_Side_Includes
In this way we could just set a very low ttl on the manifest part of the
article page, and dynamically combine the page at the Squid or Varnish level.

Details

Reference
rt162

Event Timeline

rtimport raised the priority of this task from to Medium.Dec 18 2014, 12:46 AM
rtimport added a project: ops-core.
rtimport set Reference to rt162.

Turning on ESI is optional for ResourceLoader in 1.17, but would help with
load. However, it's also a significant infrastructure change.
--
Mark Bergsma <mark at wikimedia>
Operations Engineering Program Manager
Wikimedia Foundation

Merged into ticket #162 by mark

Merged into ticket #162 by mark

Krinkle renamed this task from Support ESI for the Resource Loader to Support ESI for ResourceLoader.Jul 14 2015, 12:01 AM
Krinkle set Security to None.
fgiunchedi subscribed.

Copying Traffic since it'd affect Varnish if we choose to do it

fgiunchedi changed the visibility from "WMF-NDA (Project)" to "Public (No Login Required)".Dec 1 2016, 12:58 AM
fgiunchedi changed the edit policy from "WMF-NDA (Project)" to "All Users".