Auf der Suche nach Frameworks, Teil 2
Wie viele Anfragen pro Sekunde kann ein PHP-Framework behandeln?
Um zu beweisen was für Leistung ein Framework liefern kann wurde ein Testlauf mit Apache/2.2.6 und PHP/5.2.4 durchgeführt.
Die folgenden Frameworks-Lösungen wurden verwendet:
Zend-Framework/1.02
CakePHP/1.1.18.5850
Symfony/1.0.8
CodeIgniter/1.54
Implementierung des Frameworks:
– Bootstrap Datei (mit mod_rewrite und .htaccess)
– Standardeinstellung
– Front-Controller bzw. Dispatcher
– Page-Controller bzw. Action-Controller
– View-Script (statische Html mit dem Text „Hallo Welt!“)
Benchmarking Tool:
Gibt es etwas einfacher als ApacheBench?
Der Befehl sieht so aus: ab -c 10 -t 60 http: //framework/hallowelt
Das Ergebnis lautet:
1. CodeIgniter 122,65 [Anfragen/s]
2. CakePHP 48,47 [Anfragen/s]
3. Zend-Framework 42,10 [Anfragen/s]
4. Symfony 40,12 [Anfragen/s]
Fazit:
Wow – ist das schnell! Die einfache und effiziente Architektur des CodeIgniter hat den Vorteil zum selben Zeitraum mehrere Anfragen behandeln zu können. Naja, vielleicht man muss diese Benchmarks doch in Frage stellen bis einen neuen Testlauf mit etwa dynamischen Scripten und eine Datenbank durchgeführt wird.
Anmerkung: Im Vergleich, Symfony hat ein relativ hoher Lernaufwand da in der Implementierung des Testlaufs etwas nervig war. Man muss sich fragen wieso ist eine angebliche Lösung so kompliziert zu einführen?