Verwenden Sie dauerhafte Verbindungen? Wie viele Schlafverbindungen haben Sie? Wie viele Verbindungen kann Ihr DB Server maximal zulassen?
So überprüfen Sie, wie viele Schlafverbindungen Sie gerade ausgeführt haben:
show full processlist;
So sehen Sie die Ausführung von max_connections:
show variables like 'max_connections';
Ich denke, dass die Schlafverbindungen nicht das Problem sind, mysqld wird Schlafverbindungen basierend auf 2 Werten zeitlich festlegen:
interaktives_Zeitlimit wait_timetout
Beide sind standardmäßig 28800 Sekunden (8 Stunden).
Sie können diese Optionen in my.cnf festlegen (der Speicherort dieser Datei ist in verschiedenen Betriebssystemen und DBs, Percona, MySQL usw. unterschiedlich).
Lesen Sie auch diese Antwort von Datenbankadministratoren: https://dba.stackexchange.com/a/1559. Wenn Sie mehr darüber erfahren möchten, wie Sie den Ursprung der Schlafverbindungen debuggen können, lesen Sie diesen hervorragenden Artikel: https: // www. percona.com/blog/2007/02/08/debugging-sleeping-connections-with-mysql/
"Wenn Ihre Verbindungen dauerhaft sind (über mysql_pconnect geöffnet), können Sie diese Zahlen auf einen vernünftigen Wert wie 600 (10 Minuten) oder sogar 60 (1 Minute) senken. Wenn Ihre App einwandfrei funktioniert, können Sie die Standardeinstellung beibehalten wie du willst."
Versuchen Sie, den Indexer über die Konsole auszuführen, um festzustellen, ob ein Fehler ausgegeben wird:
php shell/indexer info # this will output the list of indexes then
php shell/indexer --reindex {index_name}