Sind die meisten Webserver-Benchmarks nutzlos?

Sind die meisten Webserver-Benchmarks nutzlos?

Es gibt eine Fülle von Benchmarks, die Apache, nginx, lighttpd, LiteSpeed/OpenLiteSpeed, Cherokee usw. vergleichen.

Leider scheinen die meisten Benchmarks vom Typ „kleine statische Datei“ zu sein, was ziemlich nutzlos ist … wer verwendet schon einen Webserver, um kleine statische Dateien bereitzustellen?

Wie kommt es, dass niemand Benchmarks für STANDARDinstallationen von PHP-Anwendungen wie diesen durchführt:

  • WordPress
  • Drupal
  • phpBB
  • Menalto Galerie
  • Magento
  • OpenCart
    usw.

Dies wäre ein viel besserer Hinweis darauf, was unter realen Nutzungsbedingungen am besten funktioniert, und würde den Leuten eine viel bessere Vorstellung davon vermitteln, welcher Server für ihre Anforderungen am besten geeignet ist.

Die oben genannten beliebten PHP-Anwendungen decken wahrscheinlich die Anforderungen eines großen Teils der Webserver-Benutzer ab.

Natürlich spielt bei dieser Art von Benchmark die Leistung von MySQL, PHP usw. eine Rolle und wir erhalten keine RAW-Leistungszahlen für den Webserver. Aber wen interessieren schon RAW-Zahlen? Die Leute sind wirklich nur an der vergleichbaren Leistung interessiert und deshalb schauen sie sich Benchmarks an.

Wenn wir mit der Durchführung solcher Benchmarks beginnen, gelangen wir möglicherweise schließlich zu dem Schluss, dass Serververgleiche hinfällig sind, da zwischen konkurrierenden Produkten keine signifikanten Leistungsunterschiede bestehen und dass es andere Elemente in der Infrastruktur/Konfiguration gibt, die wesentlich mehr Optimierungsaufmerksamkeit erfordern.

Ich bin sicher, dass die Leute, die Benchmarks ausführen, schlau sind und all das oben Genannte wissen. Wie kommt es also, dass wir weiterhin nutzlose Benchmarks in Form von „kleinen statischen Dateien“ erhalten?

Antwort1

Die wichtigsten Benchmarks sind die, die Sie für Ihre Anwendung durchführen, bevor Sie einige Änderungen vornehmen und diese dann auf Ihrer eigenen Hardware in Ihrer eigenen Serverumgebung erneut ausführen.

Dies hilft Ihnen nicht weiter, wenn Sie sich zwischen Framework X und Framework Y für Ihre Anwendung oder Konfiguration entscheiden müssen, es sei denn, Sie sind in der Lage, Ihre Server vor dem Produktionsbeginn mit mehreren Konfigurationen zu testen.

Aber Sie haben Recht, wenn Sie sich veröffentlichte Benchmarks ansehen, werden Sie feststellen, dass viele Faktoren die Ergebnisse beeinflussen können. Sind sie wertlos? Vielleicht nicht ganz; wenn ein bestimmtes Framework oder ein bestimmter Server in mehreren Tests gut abschneidet, wird es bei Ihnen wahrscheinlich auch gut abschneiden. Wenn es langsam ist, wird es wahrscheinlich relativ langsam sein.

Möglicherweise müssen Sie noch weitere Faktoren berücksichtigen. Was nützt Ihnen ein schnelles Framework, wenn Sie keine Erfahrung damit haben und ein Produkt fristgerecht herausbringen müssen? Haben die Leute, die es pflegen, Erfahrung mit dieser Plattform oder können sie sich schnell aneignen? Vielleicht haben Sie intern Erfahrung mit einer bestimmten Sprache oder einem bestimmten Server, was den Wartungsaufwand oder das Hinzufügen von Modulen oder Funktionen reduzieren würde. Vielleicht brauchen Sie eine Plattform, die aktiv gepflegt wird, damit Sie sicher sein können, dass Fehler zeitnah behoben werden, oder dass es eine aktive Community gibt, die Ihnen Ratschläge gibt, wenn Sie Hilfe brauchen. Schließlich nützt Ihnen der schnellste Server nicht viel, wenn Sie ihn nicht von vornherein konfigurieren und optimieren können.

Antwort2

Ich denke, Sie haben gerade Ihre eigene Frage beantwortet. Statische Datei-Benchmarks sind einfach einzurichten und einfach zu messen. Sobald Sie einen Anwendungsstapel hinzufügen, wechseln Sie von einer Variable (dem Webserver) zu möglicherweise Dutzenden. „Was ist mit der PHP-Konfiguration? Vielleicht fehlt dem MySQL-Server der RAM? Ist die Festplattenkonfiguration korrekt?“ und so weiter.

Statische Benchmarks testen eines: Wie schnell kann ein bestimmter Webserver eine HTTP-Anfrage verarbeiten? Im Allgemeinen ist das alles, was ein Webserver leisten soll. Sobald es aber um Anwendungsserver geht, ändert sich die Lage völlig.

Und um fair zu sein, es gibt Benchmarks für Web-Frameworks und einige Anwendungsserver:http://www.techempower.com/benchmarks/

verwandte Informationen