Moin zusammen.
Ich habe die Option "Datenbank aufräumen" und "Optimieren die Tabellen regelmäßig" aktiviert.
Frage: ist der Zeitpunkt planbar?
Bei mir läuft der Job mitten in der Hauptzeit los und scheint Tabellen zu blockieren. In deren Folge steigt die Worker-Warteschlange. Worker-Eintrag: OptimizeTables
In der Config ist folgendes gesetzt:
'maintenance_start' => '02:00 +01:00',
'maintenance_end' => '07:00 +01:00',
Tuxi ⁂
Als Antwort auf Matthias • • •@Matthias
Ich habe diese Option bei mir deaktiviert, da mir diese zur regelm. Unbenutzbarkeit der Instanz geführt hat. Deswegen würde mich diese Frage auch interessieren.
Was führen diese beiden Optionen eigentlich aus? Ein
mysqloptimizeoder ganz was anderes?Tuxi ⁂
Als Antwort auf Tuxi ⁂ • • •In der Processlist der DB schaut das dann z.B. immer so oder ähnlich aus:
Michael 🇺🇦
Als Antwort auf Tuxi ⁂ • • •optimizevon bestimmten Tabellen aus. Es betrifft nur Tabellen, die grundsätzlich eher klein sind, aber sehr häufig geschrieben und gelöscht werden.Steffen K9 🐰
Als Antwort auf Matthias • • •Tuxi ⁂
Als Antwort auf Steffen K9 🐰 • • •Hast Du "Datenbank aufräumen" auch deaktiviert?
Steffen K9 🍮
Als Antwort auf Tuxi ⁂ • • •Matthias
Als Antwort auf Steffen K9 🐰 • • •Danke für Eure Einschätzung.
Michael 🇺🇦
Als Antwort auf Matthias • • •Matthias
Als Antwort auf Michael 🇺🇦 • • •Ich würde sie auch gerne weiterhin nutzen wollen. Dann brauche ich aber eine Möglichkeit das in den Randzeiten zu starten. Wenn während des Tages die An- und Auslieferung von Beiträgen um 10-15 min. verzögert wird, dann ist das nicht so schön. Nachts schlafe ich und bekomme es nicht mit ;)
Michael 🇺🇦
Als Antwort auf Matthias • • •Matthias
Als Antwort auf Michael 🇺🇦 • • •Ah, ich denke, dass ist die Herausforderung. Es werden nicht nur die kleinen Tabellen optimiert.
Michael 🇺🇦
Als Antwort auf Matthias • • •Laut der Programmierung werde diese Tabellen im laufenden Betrieb optimiert:
Diese Tabellen hier werden im Wartungsfenster optimiert:
Bei welchen der Tabellen gibt es Probleme?
Oder hast Du "optimize_all_tables" aktiviert?
Steffen K9 🍮
Als Antwort auf Michael 🇺🇦 • • •check-full-text-searchMichael 🇺🇦
Als Antwort auf Steffen K9 🍮 • • •Steffen K9 🍮
Als Antwort auf Michael 🇺🇦 • • •Tuxi ⁂
Als Antwort auf Steffen K9 🍮 • • •Das ist das Verhalten, dass ich auch bei mir beobachten kann. Killt man die Abfrage, die alles blockiert, läuft wieder alles normal weiter.
Tuxi ⁂
Als Antwort auf Matthias • • •Vielleicht bringt es für die Analyse etwas, wenn man sich mit
mysqldumpslow /var/log/mysql/mariadb-slow.log | head -n 10mal die am längsten laufenden Abfragen anzeigen lässt?Raroun
Als Antwort auf Matthias • • •Wir haben die automatische Optimierung der Datenbank deaktiviert.
Je nach Größe der Instanz kann selbst das optimieren der "kleinen" Tabellen zu ungewollten "Locks" führen, die die Verfügbarkeit / Funktionalität der Instanz beeinträchtigen können.
Wir führen einen "Optimize" der Datenbank und aller Tabellen alle 1-4 Monate durch.
Das funktioniert relativ gut und ist geplante Downtime.
Bei der automatischen Optimierung hatten wir im laufe der Zeit Unannehmlichkeiten, die wir durch die geplante Downtime vermeiden.