Bei Shared Hosting nutzen sich die Hosting-Konten einen gemeinsamen Datenbankserver (MySQL oder MariaDB). Wenn ein Konto sehr viele oder sehr ressourcenintensive Abfragen ausführt, kann dies die Datenbanken aller auf dem Server befindlichen Websites verlangsamen. Dies wird durch die Komponente „CloudLinux MySQL Governor“ verhindert.
Wie funktioniert das?
Der MySQL Governor überwacht in Echtzeit, wie viel Prozessorzeit und wie viele Festplattenoperationen die Abfragen der einzelnen Konten beanspruchen. Solange das Konto innerhalb der zulässigen Grenzen bleibt, geschieht nichts.
Wenn ein Konto das Kontingent überschreitet, führt der Governor dessen Abfragen innerhalb des eigenen Ressourcenkontingents (LVE) des Kontos weiter aus. Im selben Rahmen läuft auch der PHP-Code der Website, sodass sich die Datenbank- und PHP-Prozesse des Kontos die zu seinem Paket gehörenden Ressourcenlimits gemeinsam teilen. Wenn die Auslastung sinkt, hebt sich die Beschränkung nach kurzer Zeit von selbst auf.
Je nach Serverkonfiguration kann der Governor sehr lang andauernde (beispielsweise mehrere zehn Sekunden) SELECT-Abfragen unterbrechen. Andere Arten von Abfragen (Schreiben, Ändern) werden nicht unterbrochen.
Was stellen Sie in einem solchen Fall fest?
- Seiten, die die Datenbank nutzen (beispielsweise WordPress-Seiten oder Produktlisten im Online-Shop), werden langsamer geladen.
- Aufgrund langsamerer Abfragen laufen die PHP-Anfragen länger, wodurch die Anzahl der gleichzeitigen Verbindungen häufiger ausgeschöpft wird, was zu einem Fehler 508 führen kann.
- In den Diagrammen auf der Seite „Ressourcenauslastung“ von cPanel wird die Datenbanknutzung durch eine blaue Linie dargestellt, und auf der Registerkarte „Snapshot“ werden auch die laufenden Datenbankabfragen angezeigt, sobald das Limit erreicht ist. Details: Was bedeuten die Fehlerzähler (faults) auf der Seite „Ressourcenauslastung“?
Die Beschränkung ist keine Sanktion und hat keinen Einfluss auf die Integrität der Daten: Sie stellt lediglich sicher, dass die Datenbankauslastung eines Kontos nicht zu Lasten der anderen Websites geht.
Wie können Sie die Belastung der Datenbank verringern?
- Caching: Der Seiten-Cache bedient die meisten Zugriffe ohne Datenbankabfrage. Tipps: Wie kann ich meine WordPress-Seite beschleunigen?
- Wartung der Datenbank: Löschen überflüssiger Revisionen, abgelaufener temporärer Daten (Transients) und Spam-Kommentare sowie Optimierung der Tabellen. Ausführliche Anleitung: Datenbankoptimierung für WordPress.
- Indizes: Legen Sie bei selbst entwickelten Anwendungen Indizes für die häufig gefilterten und sortierten Spalten an. Fehlt ein Index, wird bei einer Abfrage die gesamte Tabelle durchlaufen.
- Ressourcenintensive Plugins: Statistik-, Log- und Such-Plugins schreiben häufig bei jedem Seitenaufruf Daten in die Datenbank. Überprüfen Sie, welche Sie tatsächlich benötigen.
- Geplante Aufgaben: Führen Sie umfangreiche Importe, Exporte und Auswertungen außerhalb der Spitzenzeiten durch; siehe: Wie werden Cron-Jobs und SSH bei den Ressourcenbeschränkungen berücksichtigt?
Sollten Sie nicht wissen, welche Abfragen die Auslastung verursachen, wenden Sie sich bitte an unseren Support, und wir helfen Ihnen gerne dabei, dies herauszufinden.