Attiva gzip su nginx, upstream (nodejs) o entrambi? [chiuso]

-1

Ho un'applicazione in esecuzione dietro un proxy, entrambi sullo stesso computer. Quale approccio è più adatto alla compressione, pur mantenendo prestazioni ragionevoli.

  • attiva la compressione a livello di applicazione (che si trova nel nodojs)
  • lasciatelo al proxy (che è nginx)
posta redben 15.01.2015 - 20:40
fonte

2 risposte

4

Sebbene questa sia probabilmente una domanda migliore per ServerFault, credo che ci sia una risposta chiara: fare la compressione su nginx.

Ci sono un paio di motivi per questo:

  • La compressione è moderatamente intensiva della CPU e il nodo è a thread singolo. Pertanto, la compressione nel nodo ridurrà potenzialmente il numero totale di richieste che un singolo server è in grado di gestire.
  • Quasi sicuramente userai nginx per servire asset statici come JavaScript, CSS, immagini e HTML statico. Che vorrete comprimere. Quindi, perché non comprimere tutto ciò che passa attraverso nginx, incluso il traffico inoltrato?

Come per entrambi: è solo una CPU sprecata.

    
risposta data 15.01.2015 - 21:00
fonte
1

Presumendo che il tuo nodo di fronting del server nginx sia vicino a detto server del nodo, non si ottiene quasi nulla dall'uso di cose come la compressione tra i due. Hai un sacco di larghezza di banda tra i due, perché sprecare la CPU salvandolo? Inoltre, se stai facendo qualsiasi riscrittura in nginx diventa brutto dato che nginx deve decomprimere i contenuti, sostituirli e re-zipare. Se ti lascia fare a tutti.

    
risposta data 15.01.2015 - 21:45
fonte

Leggi altre domande sui tag