Loadtesting WordPress mit siege

(Labnotes) So, die defekte SD Karte (ck hatte keine SD Karte) ist ersetzt und mein 3 Node (Nginx host:clu, Mysql host:ster, Redis host:fu) gebastel kann nun mit einer „externen“ Raspberry getestet werden.

Somit sind die Maschinen clu, ster, fu und ck online :-D

Als Tool habe ich mir Siege rausgesucht und erstmal nur die Standard concurrent User (25) auf die Server losgelassen. Bei 25 concurrent Usern ist der ausführende Pi schon bei 100% CPU.

** SIEGE 4.0.4
** Preparing 25 concurrent users for battle.
The server is now under siege...^C
Lifting the server siege...
Transactions:                  21662 hits
Availability:                 100.00 %
Elapsed time:                  30.63 secs
Data transferred:            1359.10 MB
Response time:                  0.03 secs
Transaction rate:             707.22 trans/sec
Throughput:                    44.37 MB/sec
Concurrency:                   24.46
Successful transactions:       21662
Failed transactions:               0
Longest transaction:            1.04
Shortest transaction:           0.00

Dennoch habe ich es mir nicht nehmen lassen bewaffnet mit einer URL Liste das Ganze nicht nur auf die Homepage loszulassen, sondern auf alle aktuell 246 Artikel die dort testweise im WordPress (Fakerpress sei Dank) veröffentlicht sind.

Die Url Liste habe ich mir kurzerhand per CSV Export der URLs über den Plugin Export all Urls erstellt.

Hier hat der Nginx deutlich mehr zu tun, aber auch hier ist der Bottleneck noch der siege-raspy. Also mal bei Gelegenheit mit dem Laptop direkt an den Switch und testen :-D

** SIEGE 4.0.4
** Preparing 25 concurrent users for battle.
The server is now under siege...^C
Lifting the server siege...
Transactions:                  34869 hits
Availability:                 100.00 %
Elapsed time:                  49.13 secs
Data transferred:            2188.19 MB
Response time:                  0.03 secs
Transaction rate:             709.73 trans/sec
Throughput:                    44.54 MB/sec
Concurrency:                   24.49
Successful transactions:       34869
Failed transactions:               0
Longest transaction:            0.83
Shortest transaction:           0.00

Dem Redis und dem Mysql Server ist die Last übrigens herzlich wurscht, nur beim Nginx sieht man die CPU Auslastung etwas hochgehen.

Eine schöne Anleitung zu Siege gibt es übrigens bei Linode: https://www.linode.com/docs/tools-reference/tools/load-testing-with-siege/

Ps.: Das Bild habe ich (oh Wunder) gewählt wegen „Belagerung“ (siege) und um mich aus dem ganzen Internet Thema herauszuhalten ob nun das Trebuchet oder das Katapult die bessere Belagerungswaffe ist.

Veröffentlicht am
Kategorisiert in blog

Von Florian Kohl

Florian Kohl ist Geschäftsführer beim Revista Verlag in Schweinfurt, Podcaster bei schweinfurtundso.de, Blogger bei floriankohl.de und Partner bei kunkel & kohl. Du erreichst Florian per Email unter fkohl@revista.de