Mein Shared Host sagt mir, dass sie meine Website aufgrund von MySQL drosseln. Was kann ich tun?

7

Mein Shared Host sagt mir, dass sie meine Website aufgrund von MySQL drosseln. Was kann ich tun?

Ich bin mit der Leistungsoptimierung von MySQL nicht vertraut genug. Im Allgemeinen funktioniert MySQL nur für mich. Welche Fragen muss ich stellen, um herauszufinden, wie dies behoben werden kann? Ist das Erinnerung? Ist das Prozessor? Ist diese Konfiguration von MySQL? Angenommen, ich erhalte Zugriff auf das langsame Abfrageprotokoll. Was brauche ich, um einen Sinn daraus zu ziehen?

Ich frage dies als Generikum, aber ich bin schon oft darauf gestoßen und im Allgemeinen ist es ein minderwertiger Host. Das Wechseln zu einem besseren Host und das Implementieren von Caching reichen normalerweise aus. Aber was sind die wichtigsten Einstellungen, die in der Reihenfolge ihrer Priorität zu berücksichtigen sind?

UPDATE: Ich hoffe, dass dies eine Checkliste ist: "Wie kann ich feststellen, ob MySQL auf meinem gemeinsam genutzten Hosting-Konto in Ordnung eingerichtet ist?" Typ Probleme.

artlung
quelle
Bist du bei Dreamhost? nimm meinen Rat an. LAUF!!!
Der Desintegrator
Nein, ich bin auf pair.com und habe keine derartigen Probleme. Der neueste potenzielle Client mit diesem Problem ist Bluehost.
Artlung
Finde einen neuen Gastgeber :-D
Ich bin die

Antworten:

8

Wahrscheinlich ist es am wichtigsten zu überprüfen, ob Sie Schlüssel für die Felder haben, auf denen Sie abfragen. Mit den richtigen Schlüsseln und Feldern werden Ihre Anfragen erheblich schneller. Sie können feststellen, ob Ihre Schlüssel verwendet werden, indem Sie die Abfrage mit EXPLAINdavor ausführen. EXPLAIN SELECT * FROM table WHERE id = 2;Sie können beispielsweise EXPLAINAbfragen im langsamen Abfrageprotokoll hinzufügen, um festzustellen, welche Schlüssel verwendet werden oder nicht.

Möglicherweise möchten Sie auch das Zwischenspeichern von Daten in Betracht ziehen, wenn Sie häufig dieselben Daten aus einer Tabelle auswählen. Dies kann durch Speichern der resultierenden Seite (z. B. des tatsächlichen HTML-Codes oder eines Teils davon) oder durch Speichern des Ergebnisses der Abfrage (z. B. der IDs, sodass Sie nicht in einem Textfeld abfragen müssen) erfolgen.

Sie sollten auch vermeiden, Textfelder LIKE %text%zu oft abzufragen . Diese können sehr langsam sein.

Durchsuchen Sie das Web auch nach MySQL-Abfrageoptimierung (oder einer Kombination davon). Es gibt eine Tonne verschiedener Methoden und nicht jede Methode funktioniert für Ihre Site. Daher ist es meistens ein Fehler, aber Schlüssel verbessern definitiv die Geschwindigkeit von MySQL und reduzieren die Last.

Darryl Hein
quelle
2
+1 - In meinen frühen Tagen als Webmaster hatte ich keine Ahnung, was ein Schlüssel oder ein Index überhaupt war. Ich habe diese Einstellungen einfach ignoriert. 3 Jahre später an der Universität war ich erstaunt, dass ich sogar eine Datenbank korrekt betreiben konnte, da ich keine Optimierungen, Schlüssel, Indizes oder ähnliches vorgenommen hatte. Macht einen großen Unterschied.
Mark Henderson
Haben Sie ein Gefühl für minimale MySQL-Konfigurationen für einen gemeinsam genutzten Host, der allgemeine Webanwendungen abdeckt (z. B. Drupal, Joomla, WordPress, phpBB usw.)?
Artlung
Konfiguration für MySQL, Konfiguration für die Anwendungen oder allgemeine Serverkonfiguration oder?
Darryl Hein