TPLE mit Unterbrechung und nun aufpoliert und angepasst in PowerLine und MinMax.
TPLE ist eine High - Speed Templateengine, die für höchste Last von mir bereits im Jahre 2009 entworfen wurde.
Aber wie sieht es denn im Vergleich aus ?
Um das mal zu sehen welche Last TPLE mit Powerline aushält habe ich mal den Apache - Stress - Test lokal durchgeführt.
Zusätzlich zum direkten Vergleich mit PowerCMS und als externer Vergleich mit Cmsmadesimple (CMSMS) - diese verwenden Smarty.
5000 Request's mit 200 konkurrierenden Verbindungen - sprich Nutzern - Zeit 60 Sekunden:
PowerLine
Benchmarking localhost (be patient)
Completed 5000 requests
Completed 10000 requests
Finished 10319 requests
Server Software: Apache/2.2.20
Server Hostname: localhost
Server Port: 80
Document Path: /pl1/
Document Length: 14580 bytes
Concurrency Level: 200
Time taken for tests: 60.002 seconds
Complete requests: 10319
Failed requests: 0
Write errors: 0
Keep-Alive requests: 10306
Total transferred: 154000334 bytes
HTML transferred: 150451020 bytes
Requests per second: 171.98 [#/sec] (mean)
Time per request: 1162.937 [ms] (mean)
Time per request: 5.815 [ms] (mean, across all concurrent requests)
Transfer rate: 2506.44 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 2.6 0 31
Processing: 10 908 1653.8 806 56829
Waiting: 10 907 1653.8 805 56829
Total: 10 908 1655.7 806 56859
Percentage of the requests served within a certain time (ms)
50% 806
66% 889
75% 942
80% 976
90% 1083
95% 1194
98% 1466
99% 6902
100% 56859 (longest request)
PowerCMS
Benchmarking localhost (be patient)
Finished 3855 requests
Server Software: Apache/2.2.20
Server Hostname: localhost
Server Port: 80
Document Path: /236s/
Document Length: 35776 bytes
Concurrency Level: 200
Time taken for tests: 60.015 seconds
Complete requests: 3855
Failed requests: 3846
(Connect: 0, Receive: 0, Length: 3846, Exceptions: 0)
Write errors: 0
Keep-Alive requests: 3855
Total transferred: 50180824 bytes
HTML transferred: 48783321 bytes
Requests per second: 64.23 [#/sec] (mean)
Time per request: 3113.608 [ms] (mean)
Time per request: 15.568 [ms] (mean, across all concurrent requests)
Transfer rate: 816.54 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 4.7 0 31
Processing: 99 2267 2620.7 934 20878
Waiting: 85 2253 2603.6 933 20877
Total: 99 2268 2623.8 934 20907
Percentage of the requests served within a certain time (ms)
50% 934
66% 1096
75% 4316
80% 4522
90% 4844
95% 5069
98% 10673
99% 15186
100% 20907 (longest request)
Und zum Vergleich CMSMS
Benchmarking localhost (be patient)
Finished 448 requests
Server Software: Apache/2.2.20
Server Hostname: localhost
Server Port: 80
Document Path: /cmsms/
Document Length: 15593 bytes
Concurrency Level: 200
Time taken for tests: 60.004 seconds
Complete requests: 448
Failed requests: 444
(Connect: 0, Receive: 0, Length: 444, Exceptions: 0)
Write errors: 0
Keep-Alive requests: 448
Total transferred: 7189839 bytes
HTML transferred: 6998393 bytes
Requests per second: 7.47 [#/sec] (mean)
Time per request: 26787.476 [ms] (mean)
Time per request: 133.937 [ms] (mean, across all concurrent requests)
Transfer rate: 117.01 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 6 8.5 0 24
Processing: 686 17314 7664.8 15668 34889
Waiting: 686 17314 7664.4 15668 34889
Total: 686 17320 7669.1 15668 34905
Percentage of the requests served within a certain time (ms)
50% 15668
66% 16327
75% 20908
80% 24454
90% 28725
95% 31368
98% 33667
99% 34228
100% 34905 (longest request)
----------------------------------
Wie zu erkennen ist liegt TPLE mit PowerLine ganz vorne.
Fassen wir zusammen
Titel,Request's,Fehlerfrei
PowerLine,10319,10319
PowerCMS 2.36,3855,9
Cmsms 1.10 ,448,4
PowerLine hat in 60 Sekunden 10319 Request's fehlerfrei abarbeiten können.
PowerCMS hat zwar gewaltig mehr als Cmsms annehmen können, konnte aber nur ganze 9 erfolgreich abwickeln
Cmsms schaffte nur 448 und konnte 4 davon abwickeln.
Nun entspricht der Test dem Betrieb einer Domain mit einem gewaltigen Zulauf und genau dafür wurde TPLE mal konzipiert und wie man sehen kann - es wird auch von PowerLine brav abgearbeitet.
Das PowerCMS deutlich schneller als Cmsms ist kann man an der wesentlich höheren möglichen Requestzahl sehen.
Aber PowerCMS und Cmsms arbeiten mit der Template - Engine Smarty und genau die ist es ganz offensichtlich, welche nicht in der Lage ist das Aufkommen zu bewältigen.
Mit einem Worte - für Anwendungen mit sehr hohem Aufkommen ist Smarty nicht geeignet - TPLE aber schon.
1 Kommentar:
Bei Smarty im Forum wurde folgender Kommentar abgegeben:
Du vergleichst also »Powerline (TPLE)« mit »PowerCMS (Smarty)« und »CMS Made Simple (Smarty)«.
Dass du hierbei vor allem mal die CMSe (und eben nicht TPLE/Smarty) miteinander vergleichst ist dir bewusst, ja? Entweder du vergleichst Smarty/TPLE innerhalb des selben CMS (von mir aus Powerline), oder du vergleichst sie außerhalb eines CMS. Andernfalls ist dein Vergleich ganz genau gar nix Wert. Wenn du eine Basis für den Vergleich von Template Frameworks brauchst, schau dir https://github.com/rodneyrehm/php-template-engines/ an.
---------------------
Dazu von mir ein paar Anmerkungen:
1. Anwender interessieren sich für das Gesamtpaket und deren Leistung und nicht für Einzeltests, denn die können nicht die Wirkung in einem System wiedergeben.
2. PowerCMS gibt es als Smarty und TPLE Version - es wurde lediglich TPLE statt Smarty eingesetzt.
MinMax gibt es ebenfalls als Smarty und TPLE Version , das gilt auch für PowerSite.
Zusätzlich in den vorbereitenden Test's mit der Fragestellung "Was taugt TPLE" gibt es eine umgesetzte Prestashop und eine umgesetzte Cmsmadesimple Version, bei denen ebenfalls nur Smarty mit TPLE getauscht und angepasst wurde.
Die Ergebnisse vom Flood Test bestätigen deutlich die gewonnenen Erkenntnisse.
Bei dual verfügbaren Systemen spielt die restliche Systemtechnik keinerlei Rolle, da bis auf die Templateengine alles andere gleich ist inklusive der eingesetzten Daten.
Die Differenz in der Leistung kann eindeutig auf die Unterschiede bei den Templateengines und deren Arbeitsweise referenzieren.
Wenn also jemand meint ein solcher Test wäre nichts wert, der irrt gewaltig.
Man kann niemanden davon überzeugen Smarty einzusetzen, wenn 1:1 verfügbare Systeme solch brachialen Unterschiede zeigen.
Anbieter von Libs müssen verstehen, das ihre Libs nicht mit einfachen Test's mit anderen verglichen werden können.
Manche Libs - wie Smarty - verfolgen ja zudem bewusst das Ziel Templates über eine Metasprache zu gestalten, was andere eben nicht machen.
Anwender interessiert lediglich das Gesamtergebnis, die Vorteile die man daraus ziehen kann wie auch die Kostensituation und verbesserte Einnahmen durch mehr Power im Frontend.
Man wird niemanden wirklich heute noch überzeugen können eine Lib einzusetzen, die allein wegen des Einsatzes in allen Punkten Nachteile liefern, auch wenn , wie bei Smarty das Ziel Templates über eine Metasprache zu gestalten perfekt ausgeführt wurde.
Ansonsten gibt es zwischen Smarty und TPLE einen Unterschied - Smarty gibt es kostenlos und separat, TPLE nicht und nur mit einem entsprechenden Paket.
Kommentar veröffentlichen