¿Estás usando conexiones persistentes? ¿Cuántas conexiones para dormir tienes? ¿Cuál es la cantidad máxima de conexiones que su servidor DB está configurado para permitir?
Para verificar cuántas conexiones inactivas acaba de ejecutar:
show full processlist;
Para ver la ejecución de max_ connections:
show variables like 'max_connections';
Creo que las conexiones inactivas no son el problema, mysqld agotarán las conexiones inactivas basadas en 2 valores:
interactive_timeout wait_timetout
Ambos son 28800 segundos (8 horas) por defecto.
Puede configurar estas opciones en my.cnf (la ubicación de este archivo es diferente en diferentes sistemas operativos y bases de datos, percona, mysql, etc.)
Consulte también esta respuesta de los administradores de bases de datos: https://dba.stackexchange.com/a/1559 y si desea obtener más información sobre cómo depurar el origen de las conexiones inactivas, consulte este excelente artículo: https: // www. percona.com/blog/2007/02/08/debugging-sleeping-connections-with-mysql/
"Si sus conexiones son persistentes (abiertas a través de mysql_pconnect), puede reducir estos números a algo razonable como 600 (10 min) o incluso 60 (1 min). O, si su aplicación funciona bien, puede dejar el valor predeterminado. Esto es Depende de usted."
Intente ejecutar el indexador desde la consola para ver si genera algún error:
php shell/indexer info # this will output the list of indexes then
php shell/indexer --reindex {index_name}