Il web server più veloce per servire contenuto statico


12

Sto ottimizzando il nostro sistema per una consegna più rapida dei contenuti statici e mi chiedevo se qualcuno avesse un'esperienza adeguata con i server Web più veloci disponibili a tale scopo.

Dei tre principali candidati che ho preso in considerazione, Nginx, Cherokee e Lighttpd, ognuno sembra avere i suoi problemi - ma i rapporti che ho letto online sono in qualche modo distorti e inclini verso il server che l'utente sta attualmente utilizzando.

Qualche idea su dove vedere un punto di riferimento adeguato per questo scopo specifico o almeno un elenco non distorto di pro e contro? Qualche esperienza personale e insidie ​​di cui dovrei essere diverso?

Grazie

Modifica: Serverfault.com ha dato la risposta come nginx. Mi piacerebbe ancora sentire alcuni pensieri degli sviluppatori da questa fine dell'universo.


1
@Swader: per favore non ripubblicare. Il solito flusso di cose è che questa domanda venga automaticamente migrata lì quando ottiene abbastanza voti ravvicinati (5). Avere due domande identiche rende difficile che ci sia una, fonte definitiva di risposte.
Cameron,

Risposte:


12

Alcuni link e commenti aggiuntivi:

  • Un recente benchmark ha confrontato Nginx, Apache, Varnish e GWan per servire file statici a 100 byte.
  • Il sito Cherokee ha alcuni parametri di riferimento che confrontano Nginx e Lighttpd.
  • Più collegamenti: uno , due , tre , quattro , cinque
  • Tenere presente che i benchmark tipici hanno una banda ristretta di validità, soprattutto con un tasso di richieste così elevato. Ad esempio, il primo benchmark va bene se tutto ciò che stai servendo è file a 100 byte, ma i risultati potrebbero essere significativamente diversi se si utilizza 1kb, 10kb o un intervallo di dimensioni di file statici. Molti benchmark pubblicati hanno anche il problema che l'autore ha una buona esperienza con solo uno dei prodotti, il che significa che ha una configurazione molto buona, e non degli altri prodotti, il che significa che hanno una configurazione non ottimale o addirittura cattiva, che si inclinerà i risultati.
  • Con una percentuale così elevata di richieste ci saranno molte cose che possono influenzare i risultati del benchmark. Non solo la configurazione del server Web, ma la configurazione del sistema operativo e l'hardware stesso. Ad esempio, l'utilizzo di un'unità SSD può aumentare le percentuali di richiesta ma può funzionare con il web server X meglio di Y.
  • Non limitarti a guardare i grandi tassi di richiesta massimi dai benchmark, ma considera anche la media e i minimi. Ad esempio, guarda i risultati di Apache dal primo link di benchmark.
  • Il miglior benchmark sta facendo quello che fai tu stesso usando i file che stai servendo sull'hardware che stai facendo per usare. Anche benchmark rapidi possono rivelare problemi ed effetti non evidenti da altri risultati pubblicati.
  • Su questa scala sarà davvero importante poter rispondere a 15k o 20k richieste / secondo? Ad esempio, a 20kr / sa il file da 1,7kb richiederà circa 100 TB di larghezza di banda al mese. Per la quantità di denaro che la larghezza di banda costerà per acquistare un altro server (o 10) sarà a confronto a buon mercato. Non sceglierei solo da quale server fornisce il "numero" più grande, ma considererei anche quanto sia facile da configurare / utilizzare, corrisponde al set di funzionalità richiesto, è ben supportato, ecc ....

Personalmente, ho usato Lighttpd per anni e non potrei essere più felice con esso. In realtà sono sorpreso dal fatto che sia stato confrontato con Nginx nei risultati del benchmark Cherokee.


Roba geniale, molto utile, grazie mille.
Swader,

G-WAN è davvero molto veloce. Anche questo link è interessante. kristianlyng.wordpress.com/2011/03/16/… La vernice sembra essere molto buona sotto carico elevato.
Matt,

1

LinuxFormat Magazine (numero 142, marzo 2011) include un benchmark di Apache, Cherokee, Lighttpd e Nginx. Cherokee è il più veloce, più di x2 rispetto ad Apache e fino al 20% più veloce di Nginx.


Grazie! Basta leggere l'articolo e, sebbene sia un peccato, solo l'ultimo paragrafo contiene alcune informazioni davvero utili, è comunque un punto di riferimento molto prezioso!
Swader,

1

Se si tratta di contenuti puramente statici, allora hai solo bisogno di una grande cache di fronte al vero server Web, io uso gli ZXTM di Zeus ma ci sono molte altre opzioni.


Nel mio caso, si tratta di dozzine di gigabyte di materiale, in tutte le forme, dalle piccole immagini ai grandi documenti flash. La cache non sarebbe sufficiente qui, credo. La velocità di servizio è ciò di cui ho bisogno per aumentare, motivo per cui stiamo configurando un server di contenuti statici. Il costo non è un problema. Grazie, però, che ZXTM suona interessante, lo vedremo.
Swader,

sembra molto simile alla nostra configurazione, abbiamo diversi concerti statici e quegli zxtms fanno un buon lavoro, sono a 64 bit, quindi abbiamo solo 192 GB di memoria in ciascuno e fa tutto da RAM.
Chopper3

Sembra follemente efficiente e potente. Potresti citare qualche dettaglio in più sulla tua configurazione e sul tipo di elettricità statica che offri? Hai provato a confrontarti con altre configurazioni o questo è quello che stai usando usato fin dall'inizio?
Swader,

1

Non ho letto l'articolo - non sembra essere online, era la ricerca che mi ha portato qui - ma solo guardare un singolo grafico che Alvaro ha pubblicato sul suo blog mi fa chiedermi perché quel formato Linux il benchmark era inclinato su server diversi da Cherokee. È capitato di includere i numeri di versione dei server e qualcosa mi è sembrato strano, quindi ho fatto qualche ricerca:

Server   | Tested (Released)   | Current (Released)
---------+---------------------+--------------------
Apache   | 2.2.14 (2009-10-05) | 2.2.17 (2010-10-19)
Cherokee | 1.0.15 (2010-12-29) | 1.0.15 (2010-12-29)
Lighttpd | 1.4.26 (2010-02-07) | 1.4.28 (2010-10-22)
Nginx    | 0.7.65 (2010-02-01) | 0.8.54 (2010-12-14)

Una nuova brillante versione di Cherokee è stata messa a confronto con versioni precedenti, e in alcuni casi molto più vecchie, degli altri server. Quindi non darei troppo peso ai risultati, soprattutto dal momento che il server più competitivo, Nginx, aveva avuto un rilascio importante dalla versione che avevano testato.


Questa è un'intuizione estremamente utile.
Swader,

0

dai un'occhiata a

http://www.acme.com/software/thttpd/

paypal lo utilizza per pubblicare contenuti statici.


1
Grazie, potrei esaminarlo, ma sono incredibilmente prevenuto e di parte nei confronti delle persone che fanno "software" e non possono preoccuparsi di mettere insieme un sito decente. Sembra che si sia bloccato nel 1992 e non sia mai stato aggiornato. Inoltre, non lo hanno mai confrontato con i migliori concorrenti che ho menzionato, mi chiedo se riesco a trovare un confronto decente da qualche parte ...
Swader
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.