In diesem Artikel besprechen wir die Auswirkungen übermäßiger MySQL-Aktivität und wie sie sich nachteilig auf die Gesamtressourcennutzung Ihres Kontos auswirken kann. MySQL ist das Datenbank-Back-End vieler beliebter Webanwendungen und dort speichern diese Anwendungen ihre Daten, die später von serverseitigen Skripten abgerufen werden, um diese Informationen in Ihre Seiten zu ziehen.
Wenn Sie zufällig eine Benachrichtigung von unserer Systemadministration bezüglich übermäßiger MySQL-Aktivität von Ihrem Konto erhalten haben, bedeutet dies höchstwahrscheinlich, dass das Aktivitätsniveau, das sie gesehen haben, die Möglichkeiten der Hosting-Plattform, auf der sich Ihr Konto derzeit befindet, übersteigt.
Häufige Ursachen für übermäßige MySQL-Aktivität
Andauernde Abfragen | Eine typische SQL-Abfrage sollte in der Lage sein, innerhalb von 1 Sekunde bis höchstens ein paar Sekunden abzuschließen. Lange laufende Abfragen, die diese Abfragezeiten ständig überschreiten, können zu Verzögerungen bei der Bereitstellung anderer Abfragen auf dem Server führen. |
---|---|
Hohe Abfragen pro Sekunde | Typischerweise kommen SQL-Abfragen in kleinen Wellen direkt proportional zu Ihrem Traffic, und wenn Ihre Skripts eine große Anzahl von SQL-Abfragen pro Seitenladevorgang erfordern, könnten Sie möglicherweise eine hohe Anzahl haben von SQL-Abfragen pro Sekunde, was sich negativ auf die Abfrageleistung des Servers auswirken und zu lang andauernden Abfragen führen kann. |
Große Suchanfragen nicht optimiert | Einige SQL-Abfragen sind von Natur aus sehr komplex, insbesondere solche, die mehrere Datentabellen zusammenfügen, bevor Operationen an diesen Daten durchgeführt werden. Wenn Sie sicherstellen, dass Ihre SQL-Abfragen effizient sind und nur die Daten abrufen, die sie tatsächlich zur Anzeige benötigen, können Sie verhindern, dass diese ineffizienten Abfragen entweder lange Abfragen oder eine hohe Anzahl von Abfragen pro Sekunde verursachen. |
Permanente Verbindungen | Die meisten SQL-Abfragen öffnen einfach eine Verbindung zur Datenbank, rufen Daten ab und schließen dann die Datenbankverbindung. MySQL unterstützt auch dauerhafte Verbindungen, bei denen die Verbindung auch nach dem Abrufen der Daten aufrechterhalten wird. Dies kann manchmal problematisch sein, insbesondere bei Shared Hosting, wo Sie an das Maximum stoßen könnten _user_connections in MySQL festgelegtes Limit. |
In den meisten Fällen, wenn Ihre MySQL-Aktivität übermäßig ist, wird sich unsere Systemverwaltungsabteilung mit einer allgemeinen Erklärung, woher die Aktivität zu kommen scheint, mit Ihnen in Verbindung setzen.
Optimierung der MySQL-Nutzung
Ein guter erster Schritt zur Optimierung Ihrer MySQL-Datenbank ist die Verwendung von phpMyAdmin zur Optimierung einer Datenbank.
Manchmal könnte Ihre normale MySQL-Aktivität vollkommen in Ordnung sein, aber wenn Roboter anfangen, Ihre Website zu crawlen, könnte dies Ineffizienzen in Ihrer Anwendung aufzeigen. Daher wäre es auch eine gute Information, zu wissen, wie Sie Suchmaschinen und Roboter daran hindern können, Ihre Website zu crawlen.
Schließlich möchten Sie sich auch die SQL-Caching-Optionen ansehen, die Ihrer Anwendung zur Verfügung stehen. Wenn Ihre Titelseite beispielsweise 2 SQL-Abfragen erfordert, um alle Informationen auf dieser Seite anzuzeigen, und 100 Personen auf diese Seite kommen, sind das 200 Abfragen, und es werden keine eindeutigen Daten zurückgezogen, sondern jedes Mal dasselbe.
Die Implementierung von SQL-Caching kann dazu beitragen, diese doppelten Datenbankabfragen zu reduzieren. Ein Beispiel für diese Art von Caching finden Sie unter Optimierung von WordPress mit dem W3 Total Cache-Plugin.