En este artículo, analizaremos el impacto de la actividad excesiva de MySQL y cómo puede ser perjudicial para el uso general de recursos de su cuenta. MySQL es el back-end de la base de datos de muchas aplicaciones web populares y es donde esas aplicaciones almacenan sus datos para luego ser recuperados por secuencias de comandos del lado del servidor para extraer esa información en sus páginas.
Si recibió un aviso de nuestro departamento de administración de sistemas con respecto a la actividad excesiva de MySQL proveniente de su cuenta, lo más probable es que esto signifique que el nivel de actividad que estaban viendo excedía las capacidades de la plataforma de alojamiento en la que reside actualmente su cuenta.
Causas comunes de actividad excesiva de MySQL
Consultas de ejecución prolongada | Una consulta SQL típica debería poder completarse en 1 segundo o quizás unos pocos segundos como máximo. Tener consultas de ejecución prolongada que exceden constantemente estos tiempos de consulta puede generar demoras en la entrega de otras consultas en el servidor. |
---|---|
Consultas altas por segundo | Normalmente, las consultas SQL vendrán en pequeñas oleadas en proporción directa a su tráfico, y si sus secuencias de comandos requieren una gran cantidad de consultas SQL por carga de página, entonces podría tener un número alto. de consultas SQL por segundo, lo que puede tener un impacto negativo en el rendimiento de las consultas del servidor y comenzar a generar consultas de larga duración. |
Consultas grandes no optimizadas | Algunas consultas SQL serán de naturaleza muy compleja, especialmente las que unen varias tablas de datos antes de realizar operaciones en esos datos. Asegurarse de que sus consultas SQL sean eficientes y solo extraer los datos que realmente necesitan mostrar, puede ayudar a evitar que esas consultas ineficientes provoquen consultas de ejecución prolongada o una gran cantidad de consultas por segundo. |
Conexiones persistentes | La mayoría de las consultas SQL simplemente abren una conexión a la base de datos, recuperan datos y luego cierran la conexión a la base de datos. MySQL también admite conexiones persistentes donde la conexión se mantiene incluso después de recuperar los datos. A veces, esto puede ser problemático, especialmente en el alojamiento compartido, donde podría encontrarse con el máx _conexiones_de_usuario límite establecido en MySQL. |
En la mayoría de los casos, si su actividad de MySQL es excesiva, nuestro departamento de administración del sistema se comunicará con usted para brindarle una explicación general sobre el origen de la actividad.
Optimización del uso de MySQL
Un buen primer paso para optimizar su base de datos MySQL es usar phpMyAdmin para optimizar una base de datos.
A veces, su actividad normal de MySQL podría estar perfectamente bien, pero cuando los robots comienzan a rastrear su sitio, esto podría resaltar las ineficiencias en su aplicación, por lo que también sería una buena información saber cómo evitar que los motores de búsqueda y los robots rastreen su sitio web.
Finalmente, también le gustaría ver las opciones de almacenamiento en caché de SQL disponibles para su aplicación. Por ejemplo, si su página principal requiere 2 consultas SQL para mostrar toda la información en esa página, y tiene 100 personas que visitan esa página, serán 200 consultas y no obtendrá ningún dato único, solo las mismas cosas cada vez.
La implementación del almacenamiento en caché de SQL puede ayudar a reducir estas consultas de bases de datos duplicadas. Para ver un ejemplo de este tipo de almacenamiento en caché, puede leer acerca de cómo optimizar WordPress con el complemento W3 Total Cache.