Serveur Web le plus rapide pour diffuser du contenu statique

12

J'optimise notre système pour une livraison de contenu statique plus rapide, et je me demandais si quelqu'un avait une expérience appropriée avec les serveurs Web les plus rapides à cette fin.

Parmi les trois principaux candidats que j'ai examinés, Nginx, Cherokee et Lighttpd, chacun semble avoir ses propres problèmes - mais les rapports que j'ai lus en ligne sont quelque peu biaisés et penchent vers le serveur que l'utilisateur utilise actuellement.

Avez-vous des idées sur où trouver un point de référence approprié pour cet objectif spécifique, ou au moins une liste non biaisée des avantages et des inconvénients? Y a-t-il des expériences personnelles et des pièges dont je devrais être différent?

Merci

Edit: Serverfault.com a donné la réponse en tant que nginx. J'aimerais toujours entendre les réflexions des développeurs de cette extrémité de l'univers.

Swader
la source
1
@Swader: Veuillez ne pas republier. Le flux habituel des choses est que cette question y migre automatiquement lorsqu'elle obtient suffisamment de votes serrés (5). Le fait d'avoir deux questions identiques rend difficile la présence d'une seule source définitive de réponses.
Cameron

Réponses:

12

Quelques liens et commentaires supplémentaires:

  • Il y avait une référence récente comparant Nginx, Apache, Varnish et GWan pour servir des fichiers statiques de 100 octets.
  • Le site Cherokee a quelques références comparant Nginx et Lighttpd.
  • Autres liens: un , deux , trois , quatre , cinq
  • Sachez que les repères typiques ont une bande de validité étroite, en particulier à ce taux de demande élevé. Par exemple, la première référence est correcte si tout ce que vous diffusez est de 100 octets, mais les résultats peuvent être considérablement différents si vous utilisez 1 Ko, 10 Ko ou une plage de tailles de fichiers statiques. De nombreux benchmarks publiés ont également le problème que l'auteur a une bonne expérience avec un seul des produits, ce qui signifie qu'il a une très bonne configuration, et pas des autres produits, ce qui signifie qu'ils ont une configuration sous-optimale ou même mauvaise, ce qui faussera Les resultats.
  • À un tel taux de demande, il y aura beaucoup de choses qui peuvent affecter les résultats de référence. Non seulement la configuration du serveur Web, mais la configuration du système d'exploitation et le matériel lui-même. Par exemple, l'utilisation d'un disque SSD peut augmenter les taux de demande mais peut fonctionner avec le serveur Web X mieux que Y.
  • Ne vous contentez pas de regarder les grands taux de demande maximum à partir des références, mais considérez également la moyenne et les minimums. Par exemple, regardez les résultats Apache du premier lien de référence.
  • La meilleure référence consiste à être celle que vous faites vous-même en utilisant les fichiers que vous servez sur le matériel que vous utilisez. Même des repères rapides peuvent révéler des problèmes et des effets qui ne ressortent pas des autres résultats publiés.
  • À cette échelle, cela importera-t-il vraiment si vous pouvez servir 15 000 ou 20 000 requêtes / seconde? Par exemple, à 20 kr / sa, un fichier de 1,7 ko nécessitera environ 100 To de bande passante par mois. Pour le montant d'argent que la bande passante coûtera pour acheter un autre serveur (ou 10) sera bon marché en comparaison. Je ne choisirais pas uniquement par quel serveur donne le plus grand "nombre" mais je considérerais aussi combien il est facile à configurer / utiliser, correspond-il à l'ensemble de fonctionnalités requis, est-il bien pris en charge, etc.

Personnellement, j'utilise Lighttpd depuis des années et je ne pourrais pas en être plus satisfait. Je suis en fait surpris de sa performance par rapport à Nginx dans les résultats de référence de Cherokee.

uesp
la source
Des trucs brillants, très utiles, merci beaucoup.
Swader
Le G-WAN est en effet très rapide. Ce lien est également intéressant. kristianlyng.wordpress.com/2011/03/16/… Le vernis semble être très bon sous une charge élevée.
Matt
1

LinuxFormat Magazine (numéro 142, mars 2011) comprend une référence d'Apache, Cherokee, Lighttpd et Nginx. Cherokee est le plus rapide, plus de x2 par rapport à Apache, et jusqu'à 20% plus rapide que Nginx.


la source
Je vous remercie! Il suffit de lire l'article, et même s'il est dommage que seul le dernier paragraphe contienne des informations réellement utiles, c'est néanmoins une référence très précieuse!
Swader
1

Si c'est du contenu purement statique, vous avez juste besoin d'un excellent cache devant le vrai serveur Web, j'utilise les ZXTM de Zeus mais il y a beaucoup d'autres options.

Chopper3
la source
Dans mon cas, il s'agit de dizaines de gigaoctets de documents, sous toutes leurs formes, des images minuscules aux gros documents flash. La mise en cache serait insuffisante ici, je crois. La vitesse de diffusion est ce dont j'ai besoin pour augmenter, c'est pourquoi nous mettons en place un serveur de contenu statique. Le coût n'est pas un problème. Merci cependant, que ZXTM semble intéressant, jetez un œil à cela.
Swader
sonne très similaire à notre configuration, nous avons plusieurs gig de statique et ces zxtms font un bon travail, ils sont 64 bits donc nous collons simplement 192 Go de mémoire dans chacun et il fait tout cela à partir de la RAM.
Chopper3
Cela semble extrêmement efficace et puissant. Pourriez-vous nommer plus de détails sur votre configuration et le type de statique que vous servez? Avez-vous essayé de comparer avec d'autres configurations ou celle-ci que vous utilisez est-elle utilisée dès le départ?
Swader
1

Je n'ai pas lu l'article - ne semble pas être en ligne, c'est sa recherche qui m'a amené ici - mais le simple fait de regarder un seul graphique qu'Alvaro a posté sur son blog me fait me demander pourquoi ce format Linux benchmark a été incliné par rapport aux serveurs autres que Cherokee. Il s'est avéré que les numéros de version des serveurs étaient inclus, et quelque chose m'a paru étrange, j'ai donc fait des recherches:

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)

Une nouvelle version brillante de Cherokee a été mise en place contre les anciennes versions --- et dans certains cas, beaucoup plus anciennes --- des autres serveurs. Je ne donnerais donc pas trop de poids aux résultats, d'autant plus que le serveur le plus compétitif, Nginx, avait eu une version majeure depuis la version testée.

mdorman
la source
C'est un aperçu extrêmement utile.
Swader
0

jettes un coup d'oeil à

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

paypal l'utilise pour diffuser du contenu statique.

Vamsi Krishna B
la source
1
Merci, je pourrais y réfléchir, mais je suis incroyablement préjugé et biaisé envers les gens qui font des "logiciels" et je ne peux pas être dérangé pour créer un site décent. On dirait qu'il est resté bloqué en 1992 et n'a jamais été mis à jour. De plus, ils ne l'ont jamais comparé aux meilleurs concurrents que j'ai mentionnés, je me demande si je peux trouver une comparaison décente quelque part ...
Swader