Ganz zu schweigen davon das es hier bei uns nur wenige Anbieter gibt die Nginx als Webserver anbieten, hat diese Software neben dem Vorteil erheblich mehr an Requests ausführen zu können auch den Nachteil das man nicht alles im Angebot hat was ein Apache hat.
Und Nginx ist etwas gewöhnungsbedürftig.
Wir bei Powersoftware setzen Nginx seit Jahren ein , aber auch den Apache.
Wir testen übrigens alles auf lokalen Webservern und die sind alle High Speed und natürlich mit schnellen SSD Platten ausgestattet.
Die Ergebnisse auf "normalen" Platten sind deutlich schlechter.
Was aber bringt Nginx für Cmsms ?
Nun hier einmal die aktuelle Stable Version in der Standardinstallation (Startseite als Testseite):
ab -kc 100 -t 30 http://localhost/cmsms1/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 3590 requests
Server Software: nginx/1.8.0
Server Hostname: localhost
Server Port: 80
Document Path: /cmsms1/index.php
Document Length: 14526 bytes
Concurrency Level: 100
Time taken for tests: 30.020 seconds
Complete requests: 3590
Failed requests: 0
Keep-Alive requests: 0
Total transferred: 53598700 bytes
HTML transferred: 52148340 bytes
Requests per second: 119.59 [#/sec] (mean)
Time per request: 836.214 [ms] (mean)
Time per request: 8.362 [ms] (mean, across all concurrent requests)
Transfer rate: 1743.58 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.6 0 6
Processing: 35 824 83.0 839 925
Waiting: 35 821 82.8 836 923
Total: 40 824 82.4 839 925
Percentage of the requests served within a certain time (ms)
50% 839
66% 852
75% 860
80% 865
90% 877
95% 887
98% 902
99% 908
100% 925 (longest request)
Man beachte - die Anzahl der Requests pro Sekunde hat sich ca. verdoppelt und die durchschnittliche Zeit über alles für die Bedienung eines Requestes liegt bei knapp unter einer Sekunde.
Das ist grenzwertig - da hier rein lokal unter optimalen Verhältnissen gemessen wird - in der Realität dürfte die Wohlfühlgrenze eines Besuchers die bei der magischen 1 Sekunde liegt überschritten werden.
Mal zum Vergleich Powercms in der aktuellen Entwicklerversion:
1. Nginx
Es werden 50.000 Requests in nur 8,196 Sekunden abgeliefert.
ab -kc 100 -t 30 http://localhost/powercms/
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)
Completed 5000 requests
Completed 10000 requests
Completed 15000 requests
Completed 20000 requests
Completed 25000 requests
Completed 30000 requests
Completed 35000 requests
Completed 40000 requests
Completed 45000 requests
Completed 50000 requests
Finished 50000 requests
Server Software: nginx/1.8.0
Server Hostname: localhost
Server Port: 80
Document Path: /powercms/
Document Length: 24053 bytes
Concurrency Level: 100
Time taken for tests: 8.196 seconds
Complete requests: 50000
Failed requests: 0
Keep-Alive requests: 0
Total transferred: 1219250000 bytes
HTML transferred: 1202650000 bytes
Requests per second: 6100.74 [#/sec] (mean)
Time per request: 16.391 [ms] (mean)
Time per request: 0.164 [ms] (mean, across all concurrent requests)
Transfer rate: 145279.81 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 4
Processing: 5 16 2.4 16 43
Waiting: 4 16 2.4 15 43
Total: 8 16 2.4 16 43
Percentage of the requests served within a certain time (ms)
50% 16
66% 16
75% 17
80% 17
90% 18
95% 21
98% 25
99% 27
100% 43 (longest request)
----------------------------------
Und nun Apache - es werden 50.000 Requests in 12,784 Sekunden abgeliefert.
ab -kc 100 -t 30 http://localhost/powercms/
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)
Completed 5000 requests
Completed 10000 requests
Completed 15000 requests
Completed 20000 requests
Completed 25000 requests
Completed 30000 requests
Completed 35000 requests
Completed 40000 requests
Completed 45000 requests
Completed 50000 requests
Finished 50000 requests
Server Software: Apache/2.4.10
Server Hostname: localhost
Server Port: 80
Document Path: /powercms/
Document Length: 24053 bytes
Concurrency Level: 100
Time taken for tests: 12.784 seconds
Complete requests: 50000
Failed requests: 0
Keep-Alive requests: 0
Total transferred: 1220950000 bytes
HTML transferred: 1202650000 bytes
Requests per second: 3911.07 [#/sec] (mean)
Time per request: 25.568 [ms] (mean)
Time per request: 0.256 [ms] (mean, across all concurrent requests)
Transfer rate: 93266.06 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.3 0 8
Processing: 1 25 38.7 21 451
Waiting: 0 24 37.0 20 449
Total: 1 26 38.7 21 451
Percentage of the requests served within a certain time (ms)
50% 21
66% 23
75% 24
80% 25
90% 33
95% 112
98% 179
99% 207
100% 451 (longest request)
---------------
Deutlich zu erkennen ist die minimale Zeit, die Nginx benötigt um im Schnitt einen Request abzuliefern.
Was die deutsche Cmsms Fraktion nicht sehen will - die schlechte Konzeption und Ausführung von Cmsmadesimple was PHP betrifft ändert sich nicht und auch PHP ändert sich nicht und damit sind die Vorteile zwar vorhanden aber sie fallen entsprechend mickrig aus.
Nachtrag
Beim einschalten des Smarty Caches und Abschaltung der Smarty Kompilierungsprüfung verbessert sich das Ergebnis wie folgt - aber man hat dann quasi rein statische Seiten:
ab -kc 100 -t 30 http://localhost/cmsms1/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)
Completed 5000 requests
Finished 8122 requests
Server Software: nginx/1.8.0
Server Hostname: localhost
Server Port: 80
Document Path: /cmsms1/index.php
Document Length: 14526 bytes
Concurrency Level: 100
Time taken for tests: 30.000 seconds
Complete requests: 8122
Failed requests: 0
Keep-Alive requests: 0
Total transferred: 121273826 bytes
HTML transferred: 117992134 bytes
Requests per second: 270.73 [#/sec] (mean)
Time per request: 369.371 [ms] (mean)
Time per request: 3.694 [ms] (mean, across all concurrent requests)
Transfer rate: 3947.68 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.2 0 3
Processing: 199 367 18.3 367 531
Waiting: 196 365 18.2 366 530
Total: 202 367 18.2 367 532
Percentage of the requests served within a certain time (ms)
50% 367
66% 373
75% 376
80% 379
90% 384
95% 390
98% 400
99% 427
100% 532 (longest request)
Was die deutsche Cmsms Fraktion nicht sehen will - die schlechte Konzeption und Ausführung von Cmsmadesimple was PHP betrifft ändert sich nicht und auch PHP ändert sich nicht und damit sind die Vorteile zwar vorhanden aber sie fallen entsprechend mickrig aus.
Nachtrag
Beim einschalten des Smarty Caches und Abschaltung der Smarty Kompilierungsprüfung verbessert sich das Ergebnis wie folgt - aber man hat dann quasi rein statische Seiten:
ab -kc 100 -t 30 http://localhost/cmsms1/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)
Completed 5000 requests
Finished 8122 requests
Server Software: nginx/1.8.0
Server Hostname: localhost
Server Port: 80
Document Path: /cmsms1/index.php
Document Length: 14526 bytes
Concurrency Level: 100
Time taken for tests: 30.000 seconds
Complete requests: 8122
Failed requests: 0
Keep-Alive requests: 0
Total transferred: 121273826 bytes
HTML transferred: 117992134 bytes
Requests per second: 270.73 [#/sec] (mean)
Time per request: 369.371 [ms] (mean)
Time per request: 3.694 [ms] (mean, across all concurrent requests)
Transfer rate: 3947.68 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.2 0 3
Processing: 199 367 18.3 367 531
Waiting: 196 365 18.2 366 530
Total: 202 367 18.2 367 532
Percentage of the requests served within a certain time (ms)
50% 367
66% 373
75% 376
80% 379
90% 384
95% 390
98% 400
99% 427
100% 532 (longest request)
Keine Kommentare:
Kommentar veröffentlichen