Skip to content
This repository has been archived by the owner on Jun 3, 2024. It is now read-only.

Mise en cache des tuiles

Sebastien edited this page Nov 24, 2021 · 2 revisions

Kartotherian

Kartotherian permet d'ajouter des headers dans les réponses, ce qui permet notamment de gérer la politique de cache.

Exemple (utilisé par wikimedia):  Cache-Control:  public, max-age=86400, s-maxage=86400 Ce qui permet d'indiquer aux caches (navigateurs compris) de conserver les tuiles pendant 24h (valeur à adapter ?).

En revanche, Kartotherian n'ajoute pas de header ETag, ni Last-Modified qui permettraient d'identifier les tuiles expirées plus précisément. (Est-il envisageable d'ajouter un hash de la tuile en tant que ETag ?) Actuellement le comportement de kartotherian concernant ces headers est totalement bugué (cf https://github.com/kartotherian/cassandra/pull/2 et https://phabricator.wikimedia.org/T108435). À suivre.

Par exemple, le SDK Mapbox évite de retélécharger les tuiles non modifiées (via le header If-None-Match). cf pour Android https://github.com/mapbox/mapbox-gl-native/blob/v5.0.2/platform/darwin/src/http_file_source.mm#L213-L219

Varnish

Il serait préférable de setter les headers correctement en amont, pour éviter des configs de cache plus complexes.

À définir :

 - Mémoire à allouer  (en RAM uniquement ?)    Le repo Kartotherian propose ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,4g