Wie finde ich heraus, ob die MySQL-Datenbank mein key_buffer und innodb_buffer_pool konkurriert?

355
MohanBabu


Serverinfrastruktur : Ich habe einen Centos-Server, auf dem nginx + wordpress + mysql ausgeführt wird.

Problem:
mysql wird häufig geschlossen und wordpress zeigt die Warnmeldungen an, dass keine Verbindung zur Datenbank hergestellt werden kann.

Problem gefunden:
Das Problem lag anscheinend an der Größe von innodb_buffer_pool.

Analyse:
Nachdem ich die Protokolle geprüft und den Pufferpool gelesen hatte, habe ich verstanden, dass ich gemischte Speicher-Engines (myISAM und innodb) verwende. Tatsächlich ist es wahr, dass ich beide Motoren verwendet habe.

Fragen:

  1. Wie kann man feststellen, ob sich die Mysql-Puffer während der Arbeit gegenseitig bekämpfen?
  2. Wenn möglich, eine Methode zu finden, kann sie durch Senden von E-Mails / SMS automatisiert werden?
3
Vergessen Sie nicht http://dba.stackexchange.com/ Pimp Juice IT vor 7 Jahren 0
Dies ist ein häufig auftretendes Problem und ist eigentlich kein Problem mit MySQL. MySQL ist das Opfer von Apache als Gedächtnisschwein. http://dba.stackexchange.com/a/25171/11651 Michael - sqlbot vor 7 Jahren 0
* Ich benutze Nginx. Stehen Sie in Ihrem Setup mit Apache vor dem gleichen Problem? @ Michael-sqlbot MohanBabu vor 7 Jahren 0
Nein, ich erlebe es nicht. Ich lasse MySQL immer auf einer Maschine laufen und halte mich so weit wie möglich von MyISAM entfernt. Wenn Sie eine Lösung gefunden haben, geben Sie diese bitte als Antwort an und erläutern Sie, was Sie gefunden haben und wie zukünftige Besucher sie verwenden könnten, um dasselbe Problem zu lösen. Michael - sqlbot vor 7 Jahren 1

1 Antwort auf die Frage

1
RolandoMySQLDBA

Kurze Antwort

  • MyISAM .MYIspeichert nur Indizes aus Dateien.
  • InnoDB speichert Daten- und Indexseiten (InnoDB-Seite ist 16 KB)

Der Schlüsselpuffer und der InnoDB-Pufferpool können nicht miteinander konkurrieren, es sei denn, es liegen Speicherzuweisungsprobleme außerhalb von mysqld vor (normalerweise aufgrund von vielen DB-Verbindungen, bei denen jede DB-Verbindung für ihre eigene Sitzung viel Speicher zuweist).

Längere Antwort

Sehen Sie meine alten Beiträge