Estamos tendo problemas com os usuários que executam consultas / visualizações no Drupal que ocasionalmente fazem com que nosso site congele. O congelamento ocorre porque a consulta faz com que o número de conexões com o banco de dados suba para mais de 400 e, basicamente, sempre que o site ultrapassar 100 conexões com o banco de dados, o site fica muito lento e simplesmente não responde.
Estamos executando o Amazon RDS usando o MySQL Red Hat Linux
Temos um EC2 grande o suficiente no servidor de aplicativos front-end e um RDS grande o suficiente.
A maneira como estamos corrigindo esse problema agora é encontrar a consulta incorreta e matá-la. Depois que a consulta é encerrada ... nossas conexões com o banco de dados caem para cerca de 20, que é a quantidade normal que você vê ao monitorar as estatísticas do site.
Existe uma maneira de parar a consulta incorreta e matá-la antes que ela demore muito e consuma as conexões? Eu estou tentando automatizar a eliminação da consulta incorreta antes que ela aconteça ou, pelo menos, após 30 segundos, é uma consulta incorreta e a mata.