Wir haben Probleme mit Benutzern, die Abfragen / Ansichten in Drupal ausführen, die gelegentlich dazu führen, dass unsere Website einfriert. Das Einfrieren tritt auf, weil die Abfrage dazu führt, dass die Anzahl der Datenbankverbindungen auf über 400 steigt. Grundsätzlich verlangsamt sich die Site schrecklich, wenn die Site über 100 Datenbankverbindungen geht, und reagiert einfach nicht.
Wir führen Amazon RDS mit MySQL Red Hat Linux aus
Wir haben einen ausreichend großen EC2 auf dem Front-End-App-Server und einen ausreichend großen RDS.
Wir beheben dieses Problem jetzt, indem wir die fehlerhafte Abfrage finden und beenden. Sobald die Abfrage beendet ist ... fallen unsere Datenbankverbindungen auf etwa 20, was der normale Betrag ist, den Sie bei der Überwachung der Site-Statistiken sehen.
Gibt es eine Möglichkeit, die fehlerhafte Abfrage zu stoppen und zu beenden, bevor sie zu lange ausgeführt wird und die Verbindungen verbraucht? Ich versuche, das Beenden der fehlerhaften Abfrage zu automatisieren, bevor sie auftritt, oder zumindest nach 30 Sekunden zu erkennen, dass es sich um eine fehlerhafte Abfrage handelt, und sie zu beenden.