Kategorien
blog

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.

Kategorien
blog

Raspberry pi4 „cluster“

(labnotes) Manche wissen es, manche nicht… Ich habe mal Angewandte Informatik studiert, war aber vorher schon als Sysadmin unterwegs und habe eigene Server erst auf MacOS (ja vor dem X) Basis (web/mail/filemaker-datenbank) und später dann auf OpenBSD Basis betrieben. Ich habe damals ein eigenes Redaktionssystem in Filemaker und Lasso (Php ähnliche Sprache) geschrieben, lang lang ist’s her.

Und weil ein Oldschool Sysadmin auch mal in der Welt von docker und k8s rumdaddeln will hat sich der Florian mal 4 Raspberry Pi daheim hingestellt und angefangen damit rumzudaddeln.

Erstes Spaß Projekt war ein (bare metal) WordPress Lemp Stack (Linux, Mysql, php, Nginx) dem ich noch einen REDIS Cache für Object und DB gegönnt habe. (Fun Fact: Der Raspy der das Load Testing betrieben hat war deutlich überforderter als die Server, mehr dazu vielleicht später).

Aber bevor der „cluster“ in Betrieb genommen werden konnte musste ich natürlich noch anständiges Assetmanagement betreiben, auf Deutsch: Die Dinger beschriften. Was eignet sich da besser als etwas Tesa, ein Word Dokument und Comic Sans? Richtig: Nichts!

Kategorien
blog

Gedanken zum Wahlkampf – Teil 6

Auf Wunsch eines Infostandbesuchers und weil gerade Zahlen irgendwie schöner sind ein sechster und letzter Teil meiner Gedanken zum Wahlkampf. Vielleicht gibt es nach der Wahl noch eine Nachlese. Schauen wir mal. Also genug Vorgeschwafel:

Ab und zu liest man das Statement „Mit mir im Stadtrat hätte es xy nicht gegeben.“ Was für eine vollmundige Behauptung, was für ein Demokratieverständnis. Ist das nur eine unglückliche Formulierung oder denken manche Kandidaten wirklich so? Politik lebt vom Diskurs, sicherlich kann man sich mit Nachdruck für bestimmte Dinge einsetzen, aber letztendlich sind, so schade wie das mancher zu finden scheint, Beschlüsse im Stadtrat Entscheidungen, die demokratisch von einer Mehrheit (legitimiert durch demokratische Wahlen und proportional das Wahlergebnis abbildend) getroffen werden. Kann man nicht einfach sagen: „Ich hätte mich im Stadtrat für Alternative xy eingesetzt, weil“ oder „Ich hätte aus folgenden Gründen dagegen gestimmt“ – klingt halt nicht so schön martialisch und absolut.

Ps.: Zum Thema Fraktionszwang, gibt es ihn wirklich kommt vielleicht auch noch ein Gedanke? Mal schauen.