Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Sollte ich den MySQL-Server vor jeder Abfrage pingen?

Aus drei Gründen sollten Sie MySQL nicht vor einer Abfrage pingen:

  1. Es ist keine verlässliche Methode, um zu überprüfen, ob der Server aktiv ist, wenn Sie versuchen, Ihre Abfrage auszuführen, es könnte sehr gut in der Zeit zwischen der Ping-Antwort und der Abfrage ausfallen.
  2. Ihre Abfrage kann fehlschlagen, selbst wenn der Server aktiv ist.
  3. Wenn der Traffic auf Ihrer Website zunimmt, fügen Sie der Datenbank eine Menge zusätzlichen Overhead hinzu. Es ist nicht ungewöhnlich, dass bei Unternehmensanwendungen, die diese Methode verwendet haben, eine große Menge der Datenbankressourcen für Pings verschwendet wird.

Der beste Weg, mit Datenbankverbindungen umzugehen, ist Fehlerbehandlung (Try/Catch), Wiederholungen und Transaktionen.

Mehr dazu im MySQL Performance Blog:Suche nach einer Live-Datenbankverbindung, die als schädlich angesehen wird

In diesem Blog-Beitrag sehen Sie, dass 73 % der Last auf dieser Instanz von MySQL von Anwendungen verursacht wurden, die überprüften, ob die DB aktiv war.