Was finden Sie ist die optimale Einstellung für mysql langsame Abfrage Protokollparameter, und warum?MySQL langsam Abfrageprotokoll - wie langsam ist langsam?
Antwort
Ich empfehle diese drei Linien
log_slow_queries set-variable = long_query_time=1 log-queries-not-using-indexes
Die erste und zweite jede Abfrage über einen zweiten einzuloggen wird. Wie andere darauf hingewiesen haben, ist eine Abfrage von einer Sekunde ziemlich weit weg, wenn Sie für eine hohe Transaktionsrate auf Ihrer Website fotografieren, aber ich stelle fest, dass es einige echte WTFs gibt; Abfragen, die sollte schnell sein, aber für welche Kombination von Daten wurde es gegen ausgeführt wurde nicht.
Die letzte wird jede Abfrage protokollieren, die keinen Index verwendet. Wenn Sie keine gemeinsame Abfrage durchführen, sollten Sie den besten Index finden, den Sie finden können. Achten Sie also auf die Ausgabe.
Obwohl die sicherlich nicht für die Produktion, diese letzte Option
log = /var/log/mysql/mysql.log
werden alle Anfragen einzuloggen, die nützlich sein können, wenn Sie tune eine bestimmte Seite oder Aktion versuchen.
Egal, welche Zeit/Sie/Gefühl ist inakzeptabel langsam für eine Abfrage auf Ihren Systemen.
Es hängt von der Art der Abfragen ab, die Sie ausführen, und von der Art des Systems. Eine Abfrage, die mehrere Sekunden dauert, spielt keine Rolle, wenn es sich um ein Back-End-Berichterstellungssystem handelt, das komplexe Data-Mining-Vorgänge usw. durchführt. Eine Verzögerung spielt keine Rolle, kann jedoch bei einem System mit Benutzerkontakt völlig inakzeptabel sein.
Setzen Sie es auf was auch immer Sie mögen. Das einzige Problem ist, dass es in einem Aktien-MySQL nur in Schritten von 1 Sekunde gesetzt werden kann, was für manche Leute zu langsam ist.
Die am häufigsten verwendeten Produktionsserver führen viel zu viele Abfragen aus, um alle zu protokollieren. Das langsame Protokoll ist eine Möglichkeit, das Protokoll zu filtern, so dass wir diejenigen sehen können, die eine lange Zeit benötigen (die meisten Abfragen werden wahrscheinlich fast sofort ausgeführt). Es ist ein bisschen ein stumpfes Instrument.
Setzen Sie es auf 1 Sekunde, wenn Sie möchten, werden Sie wahrscheinlich nicht den Speicherplatz auslassen oder ein Leistungsproblem erstellen, indem Sie das tun.
Es geht wirklich um das Risiko, das langsame Protokoll zu aktivieren - tun Sie es nicht, wenn Sie das Gefühl haben, dass es weitere Disk- oder Leistungsprobleme verursacht.
Natürlich könnten Sie die langsame Anmeldung auf einem Nicht-Produktionsserver aktivieren und simulierte Last durchstellen, aber das ist nie ganz dasselbe.
Sie können es jetzt auf Mikrosekunden einstellen. – phirschybar
Nicht nur in Bezug auf die Auflösung ist es ein stumpfes Instrument, sondern es ist auch MySQL-Instanz-weit, so dass Sie, wenn Sie unterschiedliche Datenbanken mit unterschiedlichen Leistungsanforderungen haben, kein Glück haben. Offensichtlich gibt es Möglichkeiten, aber es ist wichtig, dies bei der Einstellung der langsamen Protokollierung zu berücksichtigen.
Abgesehen von den Leistungsanforderungen Ihrer Anwendung ist ein weiterer zu berücksichtigender Faktor das, was Sie zu protokollieren versuchen. Verwenden Sie das Protokoll, um Abfragen abzufangen, die die Stabilität Ihrer Datenbankinstanz bedrohen (beispielsweise solche, die Deadlocks oder kartesische Joins verursachen) oder Abfragen, die sich auf die Leistung bestimmter Benutzer auswirken und eine Feinabstimmung erfordern könnten? Das beeinflusst, wo Sie Ihren Schwellenwert festlegen.
Peter Zaitsev hat eine nice article über die Verwendung des langsamen Abfrageprotokolls geschrieben.Eine Sache, die er bemerkt, ist wichtig, auch zu berücksichtigen, wie oft eine bestimmte Abfrage verwendet wird. Berichte, die einmal am Tag laufen, sind nicht wichtig, um schnell zu sein. Aber etwas, das sehr oft läuft, könnte ein Problem sein, selbst wenn es eine halbe Sekunde dauert. Und das kann man ohne den Microslow-Patch nicht feststellen.
- 1. rotierende MySQL langsam Abfrageprotokoll
- 2. SQL-Abfragen - Wie langsam ist zu langsam?
- 3. MySQL einfache Auswahlabfrage ist langsam
- 4. PHP MySQL Paginierung ist langsam
- 5. PHP mit MySQL ist langsam
- 6. Wie langsam ist Reflection
- 7. MySQL sehr langsam Abfrage
- 8. MySQL sehr langsam Schleife
- 9. Datenrasteransicht ist langsam
- 10. django ist sehr langsam
- 11. Fragmenttabhost Leistung ist langsam?
- 12. Jquery Ajax ist langsam
- 13. Ausgabe ist langsam
- 14. Warum ist MySQL in Node.js so langsam?
- 15. gevent urllib ist langsam
- 16. UICollectionView Scrolling ist langsam
- 17. MySQL UNION Sub Select ist langsam
- 18. MySQL Abfrage-Optimierung - Sehr langsam
- 19. MySQL "Distinct" beitreten super langsam
- 20. Oktave ist langsam; Vorschläge
- 21. Quickfix ist langsam
- 22. Warum ist ODBC langsam?
- 23. PHP fsockopen ist langsam
- 24. openssl_random_pseudo_bytes() ist langsam (PHP)
- 25. Xcode-Debugging ist langsam!
- 26. UITableView reloadData ist langsam
- 27. ReactJS setState ist langsam
- 28. UIWebView ist sehr langsam
- 29. SDL_GL_SwapBuffers() ist intermittierend langsam
- 30. Grails Start ist langsam
Wusste nicht über die Log-Abfragen-nicht-Verwendung-Indizes, danke! – Subimage