Montag, 26. Oktober 2015

Vergleich Cmsmadesimple und Powercms

So und nun mal einen Vergleich von Cmsmadesimple und Powercms jeweils in der aktuellen Version bei ansonsten gleichen Bedingungen für einen Einsatz mit mittelmässiger relativ kleiner Belastung:


Cmsmadesimple

ab -kc 10 -t 30 http://localhost/cmsms/index.php
This is ApacheBench, Version 2.3 <$Revision: 1663405 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Finished 3699 requests


Server Software:        Apache/2.4.16
Server Hostname:        localhost
Server Port:            80

Document Path:          /cmsms/index.php
Document Length:        19713 bytes

Concurrency Level:      10
Time taken for tests:   30.000 seconds
Complete requests:      3699
Failed requests:        0
Keep-Alive requests:    0
Total transferred:      74538549 bytes
HTML transferred:       72918387 bytes
Requests per second:    123.30 [#/sec] (mean)
Time per request:       81.103 [ms] (mean)
Time per request:       8.110 [ms] (mean, across all concurrent requests)
Transfer rate:          2426.38 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.3      0       7
Processing:    25   81  34.3     78     228
Waiting:       22   74  32.5     71     213
Total:         25   81  34.3     78     228

Percentage of the requests served within a certain time (ms)
  50%     78
  66%     93
  75%    103
  80%    109
  90%    126
  95%    142
  98%    162
  99%    177
 100%    228 (longest request)


Powercms

root@cz:~# ab -kc 10 -t 30 http://localhost/pcms//index.php?seite=start&sprache=de
[1] 18838
root@cz:~# This is ApacheBench, Version 2.3 <$Revision: 1663405 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 5000 requests
Completed 10000 requests
Completed 15000 requests
Completed 20000 requests
Completed 25000 requests
Completed 30000 requests
Finished 34410 requests


Server Software:        Apache/2.4.16
Server Hostname:        localhost
Server Port:            80

Document Path:          /pcms//index.php?seite=start
Document Length:        23391 bytes

Concurrency Level:      10
Time taken for tests:   30.000 seconds
Complete requests:      34410
Failed requests:        0
Keep-Alive requests:    0
Total transferred:      817478370 bytes
HTML transferred:       804884310 bytes
Requests per second:    1147.00 [#/sec] (mean)
Time per request:       8.718 [ms] (mean)
Time per request:       0.872 [ms] (mean, across all concurrent requests)
Transfer rate:          26610.61 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       3
Processing:     3    9   7.5      6      92
Waiting:        2    8   6.8      5      92
Total:          3    9   7.5      6      92

Percentage of the requests served within a certain time (ms)
  50%      6
  66%      8
  75%     11
  80%     13
  90%     18
  95%     23
  98%     32
  99%     38
 100%     92 (longest request)


Deutlich erkennbar ist der krasse Leistungsunterschied.
Fast das 10 fache an Request's  und in einem Bruchteil der Zeit / Request.

Damit verbleibt noch viel Zeit für den Einsatz an Gestaltungsmitteln bis die berühmte 1 Sekunde fertig gerendert erreicht ist.

Sonntag, 25. Oktober 2015

Cmsmadesimple 2.0.1.1 unter Mariadb besser

Testet man das System unter aktueller PHP 5.6 er Version und Mariadb 10.1.8 testet stellt man fest - unter diesen Bedingungen wird es schneller.

ab -kc 100 -t 30 http://localhost/cmsms/index.php
This is ApacheBench, Version 2.3 <$Revision: 1604373 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Finished 3283 requests


Server Software:        Apache/2.4.10
Server Hostname:        localhost
Server Port:            80

Document Path:          /cmsms/index.php
Document Length:        19713 bytes

Concurrency Level:      100
Time taken for tests:   30.002 seconds
Complete requests:      3283
Failed requests:        0
Keep-Alive requests:    0
Total transferred:      66296373 bytes
HTML transferred:       64836057 bytes
Requests per second:    109.43 [#/sec] (mean)
Time per request:       913.867 [ms] (mean)
Time per request:       9.139 [ms] (mean, across all concurrent requests)
Transfer rate:          2157.92 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   1.7      0      12
Processing:   188  901 163.6    887    1525
Waiting:      188  840 145.6    833    1434
Total:        193  901 162.9    887    1526

Percentage of the requests served within a certain time (ms)
  50%    887
  66%    952
  75%    997
  80%   1023
  90%   1111
  95%   1182
  98%   1268
  99%   1322
 100%   1526 (longest request)



Die Leistung liegt tatsächlich bei über 100 Request's pro Sekunde.

Das aber ist keine Leistung der CMS selbst sondern eine Leistung der Kombination mit Mariadb.

Tatsächlich reicht die Leistung immer noch nicht aus um eine Sollzeit von unter einer Sekunde zu erzielen, denn bei dem AB wird nicht gerendert.
Und es handelt sich um einen lokalen Test unter optimalen Bedingungen inkl. SSD Festplatte.

Es zeigt zumindest einen kleinen Ausweg für kleine Anwendungen an - Mariadb statt Mysql.
Schraubt man die Belastung auf das Maß einer Site herunter die nicht viel besucht wird erhält man so durchaus ein brauchbares Ergebnis:

ab -kc 10 -t 30 http://localhost/cmsms/index.php
This is ApacheBench, Version 2.3 <$Revision: 1604373 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Finished 3896 requests


Server Software:        Apache/2.4.10
Server Hostname:        localhost
Server Port:            80

Document Path:          /cmsms/index.php
Document Length:        19713 bytes

Concurrency Level:      10
Time taken for tests:   30.003 seconds
Complete requests:      3896
Failed requests:        0
Keep-Alive requests:    0
Total transferred:      78531672 bytes
HTML transferred:       76801848 bytes
Requests per second:    129.86 [#/sec] (mean)
Time per request:       77.009 [ms] (mean)
Time per request:       7.701 [ms] (mean, across all concurrent requests)
Transfer rate:          2556.14 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.3      0       7
Processing:    26   77  30.0     75     187
Waiting:       23   70  28.5     70     183
Total:         26   77  30.0     76     187

Percentage of the requests served within a certain time (ms)
  50%     76
  66%     89
  75%     97
  80%    103
  90%    118
  95%    129
  98%    142
  99%    153

 100%    187 (longest request)

Diese Leistung reicht dicke aus.

Also - wer eine Wahlmöglichkeit hat  nimmt  10.1.8-MariaDB-1~vivid-log - mariadb.org binary distribution mit dem entsprechenden :  Datenbank-Client Version: libmysql - 10.1.8-MariaDB ,

Unter PHP 7 ist Cmsms allerdings absolut nicht zu gebrauchen, da ist die Gesamtprogrammierung derart schrottig das man sagen kann - für PHP 7 Verhältnisse wurde gegen den Strich gebürstet.