Tenemos problemas con los usuarios que ejecutan consultas / vistas en Drupal que ocasionalmente hacen que nuestro sitio se congele. La congelación se produce porque la consulta hace que el número de conexiones de la base de datos aumente a más de 400 y, básicamente, cada vez que el sitio supera las 100 conexiones de la base de datos, el sitio se ralentiza terriblemente y simplemente no responde.
Estamos ejecutando Amazon RDS usando MySQL Red Hat Linux
Tenemos un EC2 lo suficientemente grande en el servidor de aplicaciones front-end y un RDS lo suficientemente grande.
La forma en que estamos solucionando este problema ahora es encontrar la consulta ofensiva y eliminarla. Una vez que se finaliza la consulta ... nuestras conexiones de base de datos caen a alrededor de 20, que es la cantidad normal que se ve al monitorear las estadísticas del sitio.
¿Hay alguna manera de detener la consulta ofensiva y eliminarla antes de que se ejecute demasiado tiempo y consuma las conexiones? Estoy tratando de automatizar la eliminación de la consulta incorrecta antes de que ocurra, o al menos me doy cuenta después de 30 segundos de que es una consulta incorrecta y la elimino.