Schlechte Performance bei Zugriff auf MariaDB-Jail nach Upgrade auf 15.0-RELEASE

SolarCatcher

Well-Known Member
Auf zwei Servern haben wir bei unterschiedlichen Anwendungen (1x WordPress, einmal eigene PHP-App) eine heftige Performance-Degradation nach dem Upgrade von 14.3 auf 15.0 festgestellt. In beiden Fällen läuft der Webserver mit PHP in einer Jail und greift auf eine MariaDB 11.8 in einer anderen Jail zu. Bei simplen Datenbank-Abfragen ist es nicht spürbar, aber größere Abfragen sind echt lahm geworden.

Ich habe zum Test einmal die Datenbank direkt in eine Test-Jail mit dem Webserver gehängt. Da läuft alles wie früher, obwohl auch hier die Verbindung über IP geht, nicht über einen lokalen Socket. Bei Zugriff auf eine Datenbank in einer anderen Jail ist es wieder langsam. Ich habe zum Testen auch eine MariaDB-Jail auf 14.3 eingerichtet; aber auch die ist langsam.

Es sieht also ganz danach aus, als ob der Traffic zwischen den Jails in 15.0 langsamer läuft.

Bevor ich jetzt ganz viel Teste und das Web auf und ab suche: Hat jemand vielleicht auf Anhieb eine Idee, was sich durch das Upgrade auf 15.0 geändert hat? Gibt es irgendeine Netzwerk(?)-Einstellung, die ich vornehmen muss, um wieder die alte Performance zu erhalten?

Nachtrag:
Bei den Jails handelt es sich um VNET-Jails (ich will so etwas wie Valkey/Redis auf 127.0.0.x laufen lassen können). Sie haben IP-Adressen im lokalen Netzwerk und kommunzieren mit der Außenwelt per NAT (pf). Untereinander kommunizieren sie über eine Bridge.
 
Zuletzt bearbeitet:
Ich würde an deiner Stelle prüfen, ob sich bei den sysctls unterhalb net.link.bridge eventuell etwas geändert hat.
Vielleicht prüfst du auch einfach mal mittels iperf o.ä. den Datendurchsatz von Jail zu Jail.

Rob
 
vielleicht macht es Sinn, zu schauen, ob es nur an der Datenbank liegt. Du könntest ja mal eienn "direkten" Zugang ausprobieren und Anfragen oder anderes laufen lassen und schauen. Da ich ausschliesslich PostgreSQL verwende, wäre es hier mit pgql, in MariaDB weiss ist es nicht. So könntest Du genauer sagen, ob es die Verbindung oder "nur" die Datenbank ist :-)
VG Norbert
 
Danke für Eure Tipps. Ich habe dahingehend weiter gesucht und getestet.

Zwischendurch hatte ich vermutet, dass es mal wieder irgendwelche NIC-Offloading-Optionen sind, die man abschalten müsste, damit VNET-Jails rund laufen. Hat aber alles nichts gebracht.

Ich habe dann mal etwas gesucht nach Infos/Tipps zum Optimieren von MariaDB/MySQL für WordPress-Installationen. Und das hat richtig was gebracht.

Ich weiß also immer noch nicht, warum es unter 15.0-RELEASE plötzlich langsamer wurde und ob es tatsächlich (auch) etwas mit dem Netzwerk zu tun hatte. Aber insgesamt bin ich sehr glücklich.
 
Entschuldigung, den Link zu der Anleitung, die ich verwendet habe, hatte ich eigentlich hinzufügen wollen:
MariaDB Tuning for WordPress: A Complete Performance Guide

Ich habe die "Key MariaDB Settings to Optimise" erstmal 1:1 so übernommen, wie im Artikel angegeben - mit Ausnahme der Empfehlung für den ersten Parameter, innodb_buffer_pool_size. Da bin ich vorsichtigerweise erstmal deutlich unter den 70% geblieben - u.a. weil ich nicht weiß, wieviel RAM ich ZFS vorenthalten will, bzw. welche Auswirkungen das dann hätte. ZFS - so verstehe ich das immer - profitiert stark von RAM und schnappt sich so viel, wie wie es kann.

innodb_buffer_pool_size ist aber offenbar die entscheidende Variable, zumindest laut diesem Post. Zu groß sollte man sie wohl nicht wählen.

Schade, dass diese Variable in den Default-Konfigurationsdateien des FreeBSD-Ports von MariaDB-Server nirgends vorkommt. Vor allem, weil /usr/local/etc/mysql/conf.d/server.cnf detaillierte Tipps zum Tunen von ZFS im Zusammenhang mit MariaDB/MySQL enthält. Da würde man annehmen, dass andere entscheidende Variablen zumindest erwähnt werden, idealerweise sogar mit Tipps. Denn die Gesamt-Liste der Optionen von MariaDB-Server ist schier endlos. Da wird kaum jemand, der nicht vornehmlich Datenbanken managt, durchblicken.
 
OK, hattest du diese Variable in der anderen Installation auch gesetzt? Mich würde eben das ursprüngliche Problem interessieren, mir scheint, du hast es mit deinen Einstellungen lediglich maskiert.

Und ja: innodb_buffer_pool_size ist so ziemlich die wichtigste Variable bei den ganzen möglichen Einstellknöpfen.

Rob
 
OK, hattest du diese Variable in der anderen Installation auch gesetzt? Mich würde eben das ursprüngliche Problem interessieren, mir scheint, du hast es mit deinen Einstellungen lediglich maskiert.
Nein, war nicht gesetzt. Ich war mir aber in den weiteren Tests nicht mehr sicher, dass es wirklich mit Netzwerk zu tun hatte. Was zunächst dafür sprach: Ein Test-System mit WordPress schien snappier und ein bestimmtes Plugin funktionierte wieder, als der MariaDB-Server testweise in derselben Jail lief. Mit dem MariaDB-client habe ich diesen Effekt aber so nicht oder nicht sehr deutlich gesehen (also einmal mit Server in anderer Jail, einmal in derselben). Daher fragte ich mich, ob andere Faktoren eine Rolle spielen könnten und schaute einmal generell nach Optimierungstipps fü MariaDB insbesondere in Verbindung mit WordPress.
 
Zurück
Oben