Schnellster Webserver zum Bereitstellen statischer Inhalte

12

Ich optimiere unser System für eine schnellere Bereitstellung statischer Inhalte und habe mich gefragt, ob jemand die richtigen Erfahrungen mit den schnellsten Webservern für einen solchen Zweck hat.

Von den drei Hauptkandidaten, die ich in Betracht gezogen habe, Nginx, Cherokee und Lighttpd, scheint jeder seine eigenen Probleme zu haben - aber die Berichte, die ich online gelesen habe, sind etwas voreingenommen und tendieren zu dem Server, den der Benutzer gerade verwendet.

Irgendwelche Ideen, wo man einen geeigneten Benchmark für diesen speziellen Zweck sehen kann, oder zumindest eine nicht voreingenommene Liste von Vor- und Nachteilen? Gibt es persönliche Erfahrungen und Fallstricke, von denen ich abweichen sollte?

Vielen Dank

Bearbeiten: Serverfault.com gab die Antwort als Nginx. Ich würde immer noch gerne einige Entwicklergedanken von diesem Ende des Universums hören.

Swader
quelle
1
@Swader: Bitte nicht erneut posten. Der übliche Ablauf besteht darin, dass diese Frage automatisch dorthin migriert wird, wenn genügend enge Stimmen eingehen (5). Wenn zwei identische Fragen vorliegen, ist es schwierig, eine endgültige Antwortquelle zu finden.
Cameron

Antworten:

12

Einige zusätzliche Links und Kommentare:

  • Kürzlich gab es einen Benchmark zum Vergleich von Nginx, Apache, Varnish und GWan für die Bereitstellung statischer 100-Byte-Dateien.
  • Auf der Cherokee-Website gibt es einige Benchmarks , die Nginx und Lighttpd vergleichen.
  • Weitere Links: Eins , Zwei , Drei , Vier , Fünf
  • Beachten Sie, dass typische Benchmarks einen engen Gültigkeitsbereich haben, insbesondere bei dieser hohen Anforderungsrate. Der erste Benchmark ist beispielsweise in Ordnung, wenn Sie nur 100-Byte-Dateien bereitstellen. Bei Verwendung von 1 KB, 10 KB oder einer Reihe statischer Dateigrößen können die Ergebnisse jedoch erheblich abweichen. Viele veröffentlichte Benchmarks haben auch das Problem, dass der Autor nur mit einem der Produkte gute Erfahrungen gemacht hat, was bedeutet, dass es eine sehr gute Konfiguration hat und nicht mit den anderen Produkten, was bedeutet, dass sie eine suboptimale oder sogar schlechte Konfiguration haben, was zu einer Verzerrung führt die Ergebnisse.
  • Bei dieser hohen Anforderungsrate wird es zu viele Dinge geben, die die Benchmark-Ergebnisse beeinflussen können. Nicht nur die Webserverkonfiguration, sondern auch die Betriebssystemkonfiguration und die Hardware selbst. Die Verwendung eines SSD-Laufwerks kann beispielsweise die Anforderungsraten erhöhen, funktioniert jedoch möglicherweise besser mit Webserver X als Y.
  • Betrachten Sie nicht nur die großen maximalen Anforderungsraten von Benchmarks, sondern berücksichtigen Sie auch den Durchschnitt und die Mindestanforderungen. Schauen Sie sich zum Beispiel die Apache-Ergebnisse des ersten Benchmark-Links an.
  • Der beste Benchmark ist, dass Sie selbst die Dateien verwenden, die Sie auf der Hardware bereitstellen, die Sie verwenden möchten. Selbst schnelle Benchmarks können Probleme und Auswirkungen aufdecken, die aus anderen veröffentlichten Ergebnissen nicht ersichtlich sind.
  • Ist es in dieser Größenordnung wirklich wichtig, ob Sie 15.000 oder 20.000 Anfragen pro Sekunde bearbeiten können? Beispielsweise benötigt eine Datei mit 1,7 KB bei 20 kr / sa etwa 100 TB Bandbreite pro Monat. Für den Geldbetrag, den die Bandbreite kostet, um einen anderen Server (oder 10) zu kaufen, ist dies im Vergleich günstig. Ich würde nicht nur auswählen, von welchem ​​Server die größte "Nummer" angegeben wird, sondern auch überlegen, wie einfach die Einrichtung / Verwendung ist, ob sie dem erforderlichen Funktionsumfang entspricht, ob sie gut unterstützt wird usw.

Ich persönlich benutze Lighttpd seit Jahren und könnte nicht zufriedener damit sein. Ich bin tatsächlich überrascht, dass es im Vergleich zu Nginx in den Cherokee-Benchmark-Ergebnissen funktioniert hat.

uesp
quelle
Geniales Zeug, sehr nützlich, vielen Dank.
Swader
G-WAN ist in der Tat sehr schnell. Dieser Link ist auch interessant. kristianlyng.wordpress.com/2011/03/16/… Lack scheint unter hoher Last sehr gut zu sein.
Matt
1

Das LinuxFormat Magazine (Ausgabe 142, März 2011) enthält einen Benchmark von Apache, Cherokee, Lighttpd und Nginx. Cherokee ist der schnellste, mehr als x2 im Vergleich zu Apache und bis zu 20% schneller als Nginx.


quelle
Vielen Dank! Lesen Sie einfach den Artikel, und obwohl es eine Schande ist, dass nur der letzte Absatz einige wirklich nützliche Informationen enthält, ist er dennoch ein sehr wertvoller Maßstab!
Swader
1

Wenn es sich um rein statischen Inhalt handelt, benötigen Sie nur einen großen Cache vor dem echten Webserver. Ich verwende ZXTMs von Zeus, aber es gibt viele andere Optionen.

Chopper3
quelle
In meinem Fall geht es um Dutzende Gigabyte Material in allen Formen, von winzigen Bildern bis zu großen Flash-Dokumenten. Caching wäre hier nicht ausreichend, glaube ich. Die Serving-Geschwindigkeit muss gesteigert werden, weshalb wir einen statischen Content-Server einrichten. Kosten sind kein Problem. Vielen Dank, dass ZXTM interessant klingt, wird sich das ansehen.
Swader
klingt sehr ähnlich zu unserem Setup, wir haben mehrere Gig Static und diese Zxtms machen einen guten Job, sie sind 64 Bit, also stecken wir nur 192 GB Speicher in jeden und es macht alles aus dem RAM.
Chopper3
Das klingt unglaublich effizient und kraftvoll. Können Sie weitere Details zu Ihrer Konfiguration und der Art der von Ihnen bereitgestellten statischen Aufladung nennen? Haben Sie versucht, mit anderen Setups zu vergleichen, oder wurde dieses von Anfang an verwendet?
Swader
1

Ich habe den Artikel nicht gelesen - scheint nicht online zu sein, es war die Suche danach, die mich hierher gebracht hat -, aber wenn ich nur ein einzelnes Diagramm betrachte, das Alvaro in seinem Blog gepostet hat, frage ich mich, warum dieses Linux-Format Der Benchmark war gegen andere Server als Cherokee gerichtet. Es enthielt zufällig die Versionsnummern der Server, und etwas kam mir seltsam vor, so dass ich einige Nachforschungen anstellte:

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)

Eine glänzende neue Version von Cherokee wurde gegen ältere - und in einigen Fällen viel ältere - Versionen der anderen Server eingesetzt. Daher würde ich den Ergebnissen nicht zu viel Gewicht beimessen, zumal der wettbewerbsfähigste Server, Nginx, seit der getesteten Version eine Hauptversion hatte.

mdorman
quelle
Das ist eine äußerst nützliche Erkenntnis.
Swader
0

schau es dir an

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

Paypal verwendet es, um statische Inhalte bereitzustellen.

Vamsi Krishna B.
quelle
1
Danke, ich könnte das untersuchen, aber ich bin unglaublich voreingenommen und voreingenommen gegenüber Leuten, die "Software" machen und sich nicht die Mühe machen können, eine anständige Site zusammenzustellen. Es sieht so aus, als ob es 1992 hängen geblieben ist und nie aktualisiert wurde. Außerdem haben sie es nie mit den Top-Konkurrenten verglichen, die ich erwähnt habe. Ich frage mich, ob ich irgendwo einen anständigen Vergleich finden kann ...
Swader