Caching OSM tiles - how to not overload backends?

Dridi Boukelmoune dridi at varni.sh
Mon Jun 15 18:00:05 UTC 2020


On Sun, Jun 14, 2020 at 2:32 AM tranxene50
<tranxene50 at openvz-diff-backups.fr> wrote:
>
> Hello!
>
> Please forgive my bad English, I live in France.
>
> Summary: how to cache - with Varnish - Open Street Map PNG images without overloading OSM tiles servers?
>
> The question seems related to Varnish backends and ".max_connections" parameter.
>
> A far as I know, if ".max_connections" is reached for a backend, Varnish sends 503 http errors.
>
> I understand the logic but would it be possible to queue these incoming requests and wait until the selected backend is really available?
>
> backend a_tile                  {
>   .host                         = "a.tile.openstreetmap.org";
>   .port                         = "80";
>   .max_connections              = 2;
> }
>
> If Varnish have, let's say 100 incoming requests in 1 second, how can I handle this "spike" without overloading the backend?
>
> All my google searches were "dead ends" so I think the question is poorly formulated.
>
> Note 1 : using [random|round_robin] directors could be a temporary solution
> Note 2 : libvmod-dynamic is great but does not limit backend simultaneous connexions
>
> Many thanks for your help!

Bonsoir,

Unfortunately we don't have any sort of queuing on the backend side,
so besides implementing your own backend transport from scratch in a
VMOD there is currently no solution.

Cordialement,
Dridi


More information about the varnish-misc mailing list