Extension:QuickInstantCommons

The QuickInstantCommons extension is a performance optimized version of $wgUseInstantCommons. Initial tests on https://en.wikipedia.org/w/index.php?title=List_of_governors_general_of_Canada&oldid=1054426240 suggest ~56x speed improvement.

Configuration parameters
If you were previously using $wgUseInstantCommons, no configuration is needed beyond wfLoadExtension-ing this extension.


 * $wgUseQuickInstantCommons: Automatically setup $wgForeignFileRepos to use this extension (defaults true). Set to false if you need to customize something. You may need to set this before the wfLoadExtension line.
 * $wgQuickInstantCommonsPrefetch: Enable prefetching images based on what's in DB (Default true). Most of the time this is a major performance boost, but its possible that occasionally this might cause work to be done that isn't necessary.
 * $wgQuickInstantCommonsPrefetchMaxLimit: Max number of images to prefetch if prefetching is enabled (Default: 1000). Could hit OOM issues if too high.

Differences between this and ForeignApiFileRepo

 * Caches curl handle
 * Uses HTTP/2 multiplexing (Major performance boost)
 * ?action=purge of File pages purges image metadata
 * Does not support local thumbnail caching
 * Automatically generate thumbnail urls locally if foreign repo supports 404 handling (Major performance boost. Especially when responsive images are enabled)
 * Prefetch expected images based on imagelinks table (Major performance boost)
 * [not yet implemented] Allows limited thumbnailing of files that are missing handler extension (e.g. Still show thumbnail of first page of a PDF even if you don't have Extension:PDFHandler installed).
 * [not yet implemented] Adaptive TTL support that actually works (If the foreign image was recently edited, cache for shorter time, so that if its vandalism the revert will show up faster).
 * [Not yet implemented] Configurable metadata caching time, with better defaults than core.