t3n News Entwicklung

Freie Web-Frameworks im Performance-Vergleich

Freie Web-Frameworks im Performance-Vergleich

In einem Blogpost bei Curia werden dreizehn der populärsten frei verfügbaren Web-Frameworks wie z.B. Django, oder Kohana in Hinsicht auf ihre Performance verglichen. Dafür wurden verschiedene Benchmark-Tests nach Anfragen pro Sekunde für Full-Stack-, Micro- und PHP-Frameworks durchgeführt. Wir fassen den Artikel kurz für euch zusammen.

Freie Web-Frameworks im Performance-Vergleich
PHP Web-Frameworks: Hello-World-Test

Anfragen pro Sekunde im echten Leben

Wie Seth Davis in seinem Blogpost The Great Web Framework Shootout selbst schreibt, muss man die Praxistauglichkeit seines Performance-Vergleichs nach Anfragen pro Sekunde mit Vorsicht genießen. Das Anliegen bei den durchgeführten Benchmark-Tests war eine Gegenüberstellung unterschiedlichster Web-Frameworks in ihrer minimalen Standardkonfiguration. Mit optimierten Einstellungen wäre natürlich aus jedem einzelnen noch sehr viel mehr rauszuholen, aber die Vergleichbarkeit wäre gar nicht mehr gegeben. Auch sagen die Performance-Tests nichts darüber aus, welche Technologie besser oder schlechter ist. Schneller bedeutet nicht immer besser bei Web-Frameworks.

Dreizehn Web-Frameworks im Performance-Check

Seth hat sich insgesamt dreizehn verschiedenen Web-Frameworks gewidmet, die alle frei verfügbar sind. Dabei hat er in drei übergeordnete Kategorien unterteilt:

1. Schwergewichtige Allround-Web-Frameworks (Full-Stack)

Pyramid, Django, TurboGears und Rails wurden als Vertreter der Allround-Web-Frameworks verglichen. Hier ihre Perfomance-Ergebnisse mit Template- und Datenbankzugriff:

Full-Stack Web-Frameworks: Performance-Test mit Template- und Datenbankzugriff

2.  Micro-Web-Frameworks

Bottle, Flask, Sinatra und Web.go wurden als Micro-Web-Frameworks gegenüber gestellt. Hier die Perfomance-Ergebnisse für die untersuchten Micro-Frameworks mit Template- und Datenbankzugriff:

Micro-Web-Frameworks: Performance-Test mit Template- und Datenbankzugriff

3. PHP-Web-Frameworks

Als PHP-Web-Frameworks fiel die Wahl auf CakePHP, Kohana, CodeIgniter, Symfony und Yii. Hier die Perfomance-Ergebnisse für die verglichenen PHP-Frameworks mit Template- und Datenbankzugriff:

PHP-Web-Frameworks: Performance-Test mit Template- und Datenbankzugriff

Drei Basistests für jedes Web-Framework

Seth hat jedes untersuchte Framework drei Basis-Performance-Tests unterzogen und dabei jeweils die abgesetzten Anfragen pro Sekunde gemessen.

1. Hello-World-Test

Bei diesem Test wird nur ein einfacher String ohne Template und ohne Datenbank ausgegeben.

2. Template-Test

Der Template-Test gibt einen Beispieltext (Lorem ipsum) über das Template-System des jeweiligen Web-Frameworks aus.

3. Template-Datenbank-Test

Dieser Test lädt fünf Reihen aus einer SQLite Datenbank und gibt sie samt Template aus.

Als Testumgebung hat Seth eine Vanilla Ubuntu Umgebung mit vier Amazon EC2 Instanzen und 7,5 GB Arbeitsspeicher verwendet (Apache 2.2.14, Python 2.6.5, Ruby 1.9.2p290 und PHP 5.3.2).

Weitere Infos und Grafiken zu den einzelnen Performance-Tests findet ihr im Original-Blogartikel.

Alle Web-Frameworks auf einen Blick

Eigentlich sind die untersuchten Web-Frameworks viel zu unterschiedlich um sie bei so einem Performance-Check nach Anfragen pro Sekunde eins zu eins nebeneinander zustellen. Kompilierte Programmiersprachen arbeiten z.B. schneller als Skriptsprachen. Objekt Relationales Mapping (ORM) wie bei Rails oder Django dauert länger als flache Datenbankabfragen wie bei Bottle oder Sinatra. Dennoch liefert die folgende Grafik einen schönen Überblick:

Alle Web-Frameworks auf einen Blick: Performance-Test mit Template- und Datenbankzugriff

Auch wenn sich die sehr unterschiedlichen Web-Frameworks in der Praxis eigentlich nicht valide eins zu eins miteinader vergleichen lassen, liefert Seth hier eine spannende Performance-Gegenüberstellung nach Anfragen pro Sekunde, die so gut wie möglich auf vereinheitlichten Testbedingungen basiert.

Weiterführende Links:

Bildnachweis für die Newsübersicht: aka garryknight / flickr.com, Lizenz: CC-BY

Newsletter

Bleibe immer up-to-date. Sichere dir deinen Wissensvorsprung!

Vorheriger Artikel Zurück zur Startseite Nächster Artikel
12 Antworten
  1. von Sipatshi am 20.02.2012 (13:47 Uhr)

    Hallo,

    wieso nicht Cakephp 2.0 ? Diese ist doch stabil und schon lange nicht mehr in der Beta-Phase ! Schon bald erscheint die stabile 2.1 Version :)

    Antworten Teilen
  2. von Sascha am 20.02.2012 (13:52 Uhr)

    Denke an dieser Stelle kann man wieder anfangen zu streiten. Auch nicht in der Liste ist Fat-Free (wurde hier sogar vorgestellt) und ist von der Geschwindigkeit mit Symfony zu vergleichen. Ist dafür aber ein Micro-Framework.

    Antworten Teilen
  3. von sec0nd am 20.02.2012 (14:14 Uhr)

    Interessant. Vor allem, dass Rails nur unwesentlich langsamer als Codeigniter ist, dafür aber deutlich mehr kann. Und die PHP-Frameworks, die sich ebenfalls als "full-stacked" vermarkten, sind grottenlangsam.

    Antworten Teilen
  4. von stefan32 am 20.02.2012 (15:12 Uhr)

    Schade, dass FLOW3 nicht mit im Test dabei ist.

    Antworten Teilen
  5. von Christopher am 20.02.2012 (15:24 Uhr)

    @stefan32: Das gleiche habe ich auch grade gedacht :/

    Antworten Teilen
  6. von Marcel Eichner am 21.02.2012 (00:15 Uhr)

    Bei dem Kohana Link stimmt was nicht. Da scheint das http zu fehlen. An sonsten recht interessanter Artikel und es ist schade, dass Cake 2.0 nichtdabei war.

    Antworten Teilen
  7. von Monika Steinberg am 21.02.2012 (09:54 Uhr)

    @Marcel Eichner Danke für den Hinweis! Link ist repariert.

    Antworten Teilen
  8. von rubyist am 21.02.2012 (11:20 Uhr)

    Geschwindigkeit hin oder her, wichtig ist letztlich was das Framework kann, wie sicher es ist und wie gut man damit umgehen kann. Viele glauben, nur weil sie das schnellste Framework verwenden ist alles Nötige für eine schnelle und sichere Website getan. Oft haben genau dieselben Spezialisten maßenhaft "N+1 DB-Abfragen" oder andere Performancebremsen eingebaut.

    Deshalb: Relevant sind nicht die reinen Benchmarkzahlen eines Frameworks, sondern was man daraus macht...

    Antworten Teilen
  9. von Dirk am 21.02.2012 (11:26 Uhr)

    Das t3n nimmt Flow3 nicht in den Test auf? Jungs, ändert Euren Namen oder habt Ihr vergessen was T3N mal für eine Bedeutung hatte? Schade. Echt sehr schade.

    Antworten Teilen
  10. von Monika Steinberg am 21.02.2012 (11:30 Uhr)

    @Dirk Der Benchmark-Test wurde nicht von t3n durchgeführt, sondern von Seth Davis - ansonsten wäre Flow sicher dabei gewesen ;)

    Antworten Teilen
  11. von Thomas Reuter am 21.02.2012 (12:45 Uhr)

    Die Ausführgeschwindigkeit steht doch nicht im Vordergrund bei einem Framework. Es ist halt ein Kompromiss zwischen Entwicklungsgeschwindigkeit und Ausführgeschwindigkeit. Klar kann ich mit einem "kleinen" Framework, welches auch noch hoch spezialisiert ist eine höhere Ausführgeschwindigkeit erzielen.

    Wem es nur um die reinen Geschwindigkeit des Frameworks geht, der muss eh ein eigenes entwickeln, welches sehr spezialisert ist.

    Ich habe gestern einen Vergleich gesehen (http://blog.dirk-helbert.de/2012/02/10/php-framework-vergleich-und-hilfe-bei-der-auswahl/), den ich viel spannender finde. Da werden die Zahlen von PHP Frameworks verglichen. Quasi eine Community Performance. Ob das eine endgültige Auswahlhilfe ist, weiß ich auch nicht, aber interessant ist es schon.

    Antworten Teilen
  12. von ricardo.cescon am 18.01.2013 (14:57 Uhr)

    Hallo,

    mal unabhängig von Zahlen empfehle ich http://www.phpbar.de/w/crvcl oder http://en.cr-solutions.net/p/projects da man hier auch eine integrierte Lastverteilung für MySQL und Co. hat. Somit bekommt man auch keine Performance-Probleme. Diese Framework ist vor allem in erster Linie auf Performance entwickelt.

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Mehr zum Thema Frameworks
Wozu Frameworks gut sind ...
Wozu Frameworks gut sind ...

Inzwischen werden Frameworks für Frameworks erstellt. Ergibt das alles noch einen Sinn oder tun wir das bloß, weil wir es können? » weiterlesen

Modulares Blockchain-Framework von Microsoft: Das steckt hinter Project Bletchley
Modulares Blockchain-Framework von Microsoft: Das steckt hinter Project Bletchley

Unter dem Namen Projekt Bletchley hat Microsoft ein modulares Framework für Blockchain-basierte Anwendungen vorgestellt. Wir verraten euch, was sich hinter dem ungewöhnlichen Namen verbirgt. » weiterlesen

Die Zukunft des PHP-Frameworks Symfony: Event gibt Einblicke
Die Zukunft des PHP-Frameworks Symfony: Event gibt Einblicke

Das PHP-Framework Symfony erfreut sich unter Entwicklern großer Beliebtheit. Auf der SymfonyLive-Konferenz gab es jetzt Einblicke in die Zukunft des Frameworks. » weiterlesen

Alle Hefte Jetzt abonnieren – für nur 35 €

Kennst Du schon unser t3n Magazin?