4 Stimmen

Gibt es eine Möglichkeit, MYSQL Delayed Inserts in der MySQL-Konfiguration zu stoppen?

Ich bin mit einem seltsamen Problem auf einem unserer Server hängen geblieben. Ich sehe, dass es verzögerte Mysql-Inserts gibt

+--------+----------------+-----------+------------------+----------------+------+--------------------+------------------------------------------------------------------------------------------------------+
| Id     | User           | Host      | db               | Command        | Time | State              | Info                                                                                                 |
+--------+----------------+-----------+------------------+----------------+------+--------------------+------------------------------------------------------------------------------------------------------+
| 219586 | DELAYED        | localhost | XXXX             | Delayed insert | 202  | Waiting for INSERT |                                                                                                      |

auf eine selten genutzte Datenbank. Nach dem, was ich dem MySQL-Handbuch entnommen habe, warten diese Inserts auf andere, um stark genutzte Datenbanken so zu optimieren, dass Inserts in Batches/Blöcken geschrieben werden. Leider heißt es dort, dass diese Methode sehr viel Speicher verbraucht und extrem ineffizient ist, wenn sie auf selten genutzten Datenbanken eingesetzt wird. In diesem speziellen Fall gibt es nur 10-20 Abfragen pro Tag an diese Datenbank, wodurch die Verzögerungen extrem groß werden - bis zu einem ganzen Tag. Es gibt ähnliche Probleme mit anderen Datenbanken/Benutzern, und wenn man sie addiert, scheinen sie den Speicherverbrauch und die CPU von MySQL zu belasten.

Gibt es eine Möglichkeit, zu verhindern, dass verzögerte Abfragen verzögert werden? So dass sie sich wie normale Abfragen verhalten?

Vielen Dank im Voraus!

Zum Wohl, Venetianer.

5voto

noonex Punkte 1796
  1. Sie können FLUSH TABLES oder 'KILL 219586' benutzen, um diesen Thread zu zwingen, seine Arbeit zu beenden und sich zu verabschieden.
  2. Satz max_delayed_threads=0 in der Konfigurationsdatei und starten Sie die Instanz neu, um die DELAYED-Funktion vollständig zu deaktivieren
  3. Dokumente lesen - das geht schneller als 6 Stunden im Forum zu warten

2voto

Evert Punkte 82608

Mach dir keine Sorgen um diesen Thread. Er wird nur für den Fall aufbewahrt, dass es in Zukunft eine verspätete Einfügung gibt. Er macht eigentlich nichts

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X