Non ho i punti o qualsiasi cosa da commentare sulla risposta di @ max_i quindi sto inviando un'altra risposta per verificare la sua invece.
La risposta accettata di Ketola non è completamente sbagliata, forse è solo obsoleta e potrebbe essere vera per le versioni precedenti di Varnish.In particolare questa parte:
Varnish invia tutte le richieste al back-end. Cioè non accoda altre richieste ed emette solo una richiesta di backend e usa la sua risposta per tutti.
Dopo il test in modo indipendente io stesso utilizzando un'installazione standard di vernice 4.1 LTS e Apache 2.4, ho creato un file PHP di base che conteneva la seguente:
<?php sleep(5); echo 'hello world!';
poi utilizzato ab per testare il ciclo di richiesta HTTP usando 50 richieste a 5 concorrenti. I risultati hanno mostrato che, mentre Varnish accettava ogni singola connessione, al back-end era stata fatta solo una richiesta, che, come previsto, richiedeva circa 5 secondi per essere risolta. Successivamente, ogni connessione di Varnish ha dovuto attendere quel periodo minimo prima di ricevere una risposta.
Il lato negativo di questo è naturalmente che le richieste dopo il primo sono "in coda" dietro di esso, ma questa è ovviamente una preoccupazione minore rispetto a tutte le 50 richieste che colpiscono il back-end in una volta (o nel caso del mio test , con una concorrenza di 5).
fonte
2018-02-26 08:49:14
grazie, leggerò di più sull'impostazione gracetime – Pluto1010
Ho notato che nella mia risposta avevo un carattere
Ketola
Hmm ho ancora la domanda che cosa accadrà se la cache è vuota dopo un blackout o un crash. i nostri siti sono visitati pesantemente con conseguente numero di richieste al secondo. Penso che potrebbe uccidere i nostri server web se la vernice ha una cache vuota. Questo è il motivo per cui c'è la mia speranza che la vernice lascerà aspettare richieste uguali e la eseguirà solo una volta. gli altri riceveranno la loro risposta dalla cache dopo. quindi i server farebbero una richiesta come la home page solo una volta. e non 1000 volte in parallelo. qualche idea su questo problema? – Pluto1010