Usage of the Shard director ( rampup period )

Geoff Simmons geoff at
Thu Nov 14 18:30:17 UTC 2019

On 11/14/19 11:43, Yiannis Karayiannidis wrote:
>  sub vcl_init {
>         new dir_b = directors.shard();
>                 dir_b .add_backend(wb3);
>                 dir_b .add_backend(wb2);
>                 dir_b.add_backend(wb1);
>                 dir_b .set_rampup(2m);
>                 dir_b .reconfigure();
> }
> I'm trying to debug  rampup period for a failed backend, cause it seems to
> me that the server is getting back in the pool before the 2 minutes rampup
> period.

What exactly do you mean by "getting back in the pool before the 2
minutes"? What were you expecting?

Rampup means that requests are directed to a backend, gradually and
increasingly, during the rampup period after a backend is added to the
pool. Say after the backend goes from failing health probes to being
healthy again.

Specifically, set_rampup(2m) means that during the two minutes after a
backend is added to the pool, requests are directed to the alternative
backend with linear decreasing probability, from 100% just after the
backend is added, to 0% after the two minutes are up. For example, at 90
seconds, there is a 75% probability that the backend will receive
requests that sharding would direct to it.

So it's to be expected that a backend will receive requests during rampup.

** * * UPLEX - Nils Goroll Systemoptimierung

Scheffelstraße 32
22301 Hamburg

Tel +49 40 2880 5731
Mob +49 176 636 90917
Fax +49 40 42949753

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the varnish-misc mailing list