XF2.0 Dezidierte Server: Optimiere MySQL 5 bis 7 InnoDB

Masetrix

Bekanntes Mitglied
Lizenzinhaber
Registriert
2. Sep. 2018
Beiträge
576
Punkte
103
XF Version
  1. 2.2.15
XF Instanz
Hosting
PHP-Version
8.2.15
MySQL/MariaDB
(MariaDB) 10.6.17
Provider/Hoster
Hetzner
Hallo Zusammen,

immer wieder treffe ich auf Foreninstallationen die zwar neuste SoftwareVersionen installiert haben, aber dennoch recht langsam sind. Bei meiner Arbeit mit solchen Servern fiel mir auf dass fast jeder MySQL in der Grundinstallation verwendet. Das ist auch soweit kein Problem solange der Server nicht viel zu tun hat und MySQL Tabellen mit dem DB-Format MyIsam verwendet wird. Kommt dann - wie heute üblich und angeraten - immer mehr InnoDB zum Einsatz wird das alles quälend langsam und instabil.
Daher hier ein paar Tipps für erste Anlaufstellen mithilfe derer man auch MySQL mit InnoDB Tabellen flott bekommt - ausreichend RAM vorausgesetzt. Damit kann man modernen Foren ganz nett Dampf machen.

Zunächst kann man seine my.cnf anhand folgender Anlaufstelle anpassen.
17 Key MySQL Config File Settings (MySQL 5.7 proof) - Speedemy

Damit man auch sieht ob man erfolgreich ist sollte man den MysqlTuner installiert haben und jeweils vor, und nach einer Konfigurationsänderung ausführen - wenn diese neu geladen wurden.
Bevor ihr jetzt loslegt eure MySQL Installation zu schreddern ;) immer dran denken die my.cnf zu sichern bevor ihr daran Änderungen vornehmt. Backups sind immer oberste Pflicht.

Zuguterletzt:
Ich lehne jegliche Haftung ab, wer sich nicht sicher ist was er wie tun muss sollte keinen RootServer ins Netz stellen. Wer sich also nicht sicher ist, was er/sie/es tut, lässt das am Besten gleich bleiben.
 
Man... bei der Überschrift dachte ich doch echt, es kommt mal was neues. :D ;)
Wer nicht fähig ist google oder eine ähnliche Suchmaschine zu benutzen sollte auch die Finger von root Servern lassen.
Ich lehn mich dann mal entspannt zurück und warte auf das Gemaule wegen der verlinkten Anlaufstelle... neben Suchproblemen, gibts ja doch auch immer wieder Sprachbarrieren :cool:
 
Man... bei der Überschrift dachte ich doch echt, es kommt mal was neues. :D ;)
Wer nicht fähig ist google oder eine ähnliche Suchmaschine zu benutzen sollte auch die Finger von root Servern lassen.
Ich lehn mich dann mal entspannt zurück und warte auf das Gemaule wegen der verlinkten Anlaufstelle... neben Suchproblemen, gibts ja doch auch immer wieder Sprachbarrieren :cool:

Die Sprachbarrieren sind nicht hoch - wenn selbst ich das lesen kann. ;)
Ansonsten wäre es XenForo zuträglich wenn deren selbiges Nutzende ihre Installationen dort optimieren würden wo es erstmal am meisten bringt. Das wiederum machen die wenigsten.
Warum auch immer...

Nachtrag:
Sieh dir mal die Seite an und wechsele zwischen den Kategorien. Das liegt zumeist an einer Fehlkonfig von MySQL in Verbindung mit InnoDB.

Nachgetragen wird das aber XenForo...
 
Zuletzt bearbeitet:
Ganz soo einfach ists halt nicht - meiner Ansicht nach.

Viele nutzen nur Webspace, oft noch mit veraltetem MySQL und PHP - da fängt es ja schon an. Und ein "wie stell ich MySQL und PHP für meinen speziellen Anwendungsfall optimal ein for Dummys", gibts halt noch nicht weil es halt doch etwas komplexer ist. ;)
Je nach Version unterscheiden sich die Optimierungen dann halt und dann kommen noch so banale Dinge wie die verschiedenen File- und OpCcode-Caches, Apache vs. Nginx, HDD oder SSD, Ram-Ausstattung usw.... Daraus ergeben sich unzählige Konfigurationsmöglichkeiten mit ebenso unzähligen Konfigurationsmöglichkeiten. Und genau deshalb sollte man nicht einfach auf eine (von tausenden) "wie optimiere ich ..." setzen, sondern wenn - dann sich in die Themen die einen betreffen (PHP, MySQL, Apache, NGinx, root Server, Linux, usw... etwas tiefgründiger einlesen um überhaupt zu verstehen, woran man herum konfiguiert und welche Auswirkungen das haben kann in genau der Konfiguration die ich verwende.

Nicht umsonst heist es ja selbst beim MySQLTuner:
upload_2018-9-8_16-12-12.png

Damit man auch sieht ob man erfolgreich ist sollte man den MysqlTuner installiert haben und jeweils vor, und nach einer Konfigurationsänderung ausführen - wenn diese neu geladen wurden.
Und da ist dieser Hinweis leider schon mal - entschuldige - Mist.
Richtig wäre: Lesen was das Tool tut und wo es seine Grenzen hat, dann MySQLTuner installieren, erstmals laufen lassen und nach Änderungen dann erstmal mind. 24h abwarten, besser mehrere Tage oder eine ganze Woche und erst dann das Tool erneut laufen lassen. Lässt man es nämlich wie von dir empfohlen, sofort nach Änderung und laden dieser, laufen macht man schon mal nen riesen Fehler.

Und wenn man nicht weiß, was denn dann da alles grün, rot oder blau markiert wird, versaut man sich mehr, als man verbessert. Denn: der MySQLTuner hat u.a. keine Ahnung, für welche Anwendung ich optimieren möchte.
 
Hier mal ein sehr guter Einstieg - und das sogar in Deutsch:
Performance-Optimierung in MySQL
MySQL: Tuning vom feinsten @ huschi.net
MySQL Performance Optimierung | Thomas Eses
MySQL Queries optimieren

Oft bekommt man schon beim eigenen Anbieter Hilfen und Tipps:
Performance der Datenbank optimieren (hier am Beispiel Strato)

oder beim Blick über den Xenforo Tellerrand:
InnoDB optimieren - WoltLab®

Aber natürlich auch bei Xenforo selbst:
XenForo tips & guides [1.x]

Immer einen Blick wert - die Referenz (aufpassen, das ihr eure Version beachtet!):
MySQL :: MySQL 8.0 Reference Manual :: 8 Optimization
 
Zuletzt bearbeitet:
Oh Otto ;)
sicher hast du Recht mit deinen Einwänden. Du schießt aber weit über mein Ziel hinaus.
Ich will mit meinem Firstpost lediglich die Aufmerksamkeit darauf lenken dass man keine
Defaulteinstellung von MySQL mit modernen Foren verwenden kann und zugleich Performance erwarten.

Die Tipps aus dem Link dazu alleine reichen da schon um kleine Wunder zu bewirken.
Ganz ohne die große Optimierungsorgie für Profis zu starten. Was ich meine erkennst du bei einer Defaultinstallation
von MySQL auf einem mit Defaulteinstellungen installierten dezidierten Server den z.B. Hetzner mit Plesk anbietet. (RootServer mit Plesk sind heute gern auch von nicht Profis verwendet weil selbst in den Grundeinstellungen alles so einfach läuft wie bei Windows...)

Lass darauf mal ein vB3/4 laufen und installiere ein Addon wie z.B. DBSEO. Du bekommst dabei graue Haare.
Danach wiederhole das mit den Einstellungen die der Autor meiner Verlinkung für MySQL/InnoDB bereitstellt.
Dazwischen liegen Welten weil damit auch InnoDB - im Vergleich zur Defaultinstallation von MySQL - ziemlich performant läuft.

Die EierlegendeWollMilschsau will und kann auch ich hier nicht anbieten, kleine Tipps an den richtigen Stellen hier und da hingegen schon.
Genausowenig kann und will ich beim Dau mit RootServer Profiwissen installieren. Daher auch der letzte Satz in meinem Firstpost...

Du hast das nun erweitert. Danke. Das aber war nicht meine Intention im FP.
 
Nö ich glaub eher nicht. Die Links oben, sind kein Lernleitfaden, auch keine Zusammenstellung einer ToDo Liste. Es sind nur Beispiele, für sich genommen einzelner Anleitungen. Ich wollte deinen FP nicht unbedingt erweitern, sondern auf die möglichen (wahrscheinlichen) Probleme hinweisen, auf die man allein mit dem FP stoßen würde. Zwangsläufig, leider.
Ich weiß nicht (und es geht mich weder was an, noch interessiert es mich ehrlich gesagt - sorry) was du so machst, jedoch hab ich gefühlt immer öfter Leute im Email-Postfach, die genau solchen "Ey guck mal wie einfach du deinen Server ... unter Umständen noch schlechter einstellst als zuvor" Anleitungen wort wörtlich gefolgt sind und damit sprichwörtlich auf die Fresse gefallen sind.

Kurz: wäre top, wenn du ein Anleitung für den Laien, auch Laien-sicher machst. Mehr wollt ich gar nicht. :)
 
Zurück
Oben