MySQL es un sistema de gestión de bases de datos relacionales de código abierto basado en el lenguaje de consulta estructurado (SQL). MySQL es utilizado por los equipos de desarrollo en una amplia variedad de casos de uso, más comúnmente en el almacenamiento de datos, comercio electrónico y aplicaciones de registro. Sin embargo, su implementación más popular es en bases de datos web, ya que es altamente flexible, fiable y escalable. Puede utilizarse para almacenar desde registros individuales de información hasta inventarios completos de productos.

DNS-DPM-Banner-Horizontal_728x90

SQL Server, por otra parte, es un sistema comercial de gestión de bases de datos relacionales desarrollado por primera vez por Microsoft. Al igual que MySQL, SQL Server es compatible con muchas plataformas, incluyendo Linux, Microsoft Windows y los sistemas de servidor de Windows. Lo más habitual es que los desarrolladores utilicen SQL Server para aplicaciones .Net y proyectos de Windows. Como un producto comercial, SQL Server tiene una comunidad más amplia de apoyo.

En esta guía, voy a repasar algunas métricas para ayudar a sus esfuerzos de ajuste de rendimiento. También hablaré de algunas de las mejores herramientas de SQL Server y MySQL del mercado, incluida la solución que más recomiendo -SolarWinds® Database Performance Analyzer- debido a sus sólidas funciones de supervisión y análisis, que no tienen parangón en el mercado.

Rendimiento de MySql

Monitoreo del rendimiento de SQL y MySQL Mejores prácticas
Mejores herramientas de ajuste del rendimiento de MySQL y SQL Server
El monitoreo de la base de datos es imprescindible. Hágalo bien, hágalo constantemente y obtenga beneficios

Monitorización del rendimiento de SQL y MySQL Mejores prácticas

El aspecto más importante de la monitorización de su rendimiento de SQL es tomar decisiones meditadas sobre qué métricas y alertas necesita monitorizar. Aunque esto dependerá en parte de su organización y de su industria, generalmente es una buena idea monitorizar los siguientes procesos:

  • Proceso requerido en ejecución
  • Puntos de fallo comunes
  • Utilización de recursos
  • Ejecuciones de consultas (fallos y finalizaciones)

Además de monitorizar estos procesos, también querrá monitorizar métricas específicas relacionadas con la salud del rendimiento de su vista MySQL. Las siguientes son un buen lugar para empezar:

  • Tiempo de actividad: El segundo que tarda un servidor en responder a una solicitud.
  • Threads connected: El número de clientes actualmente conectados al servidor. Si no hay nadie conectado o hay demasiados, puede ser una señal de problemas.
  • Max used connections: El número de conexiones realizadas desde que se inició el servidor.
  • Conexiones abortadas: El número de intentos de conexión fallidos. Demasiados podrían ser una señal de actividad sospechosa.

Los equipos de desarrollo también deben asegurarse de supervisar las métricas de consulta SQL para asegurarse de que la base de datos está cumpliendo con sus tareas básicas. Algunos ejemplos son:

  • Consultas: El número de sentencias enviadas por los clientes.
  • Consultas: El número de sentencias ejecutadas incluyendo los procedimientos almacenados.
  • Peticiones de lectura y escritura: Lo que permite a los usuarios y a los desarrolladores acceder a la misma página en tiempo real.

Otras métricas importantes a recoger para llevar a cabo el ajuste del rendimiento de SQL Server o MySQL incluyen los errores típicos de SQL. Estos son los puntos de fallo frecuentes a los que siempre debe prestar atención:

  • Errores: Compruebe siempre que no hay errores en el archivo mysql.log.
  • Tamaño de los archivos de registro: Inspeccione los flujos de registro para ver si todos los archivos se están rotando correctamente. Si no es así, podría provocar un cuello de botella en su servidor.
  • Archivos de registro eliminados: Asegúrese de que el descriptor de archivos se cierra después de eliminar cualquier archivo de registro.
  • Espacio de copia de seguridad: Asegúrese siempre de tener suficiente espacio en disco para las copias de seguridad.

Mejores herramientas de ajuste del rendimiento de MySQL y SQL Server

Intentar capturar las métricas anteriores es difícil sin las herramientas adecuadas. Los siguientes programas son algunas de las mejores herramientas para la monitorización en tiempo real de bases de datos SQL, tanto si se utiliza MySQL, SQL Server u otra base de datos relacional.

  1. SolarWinds Database Performance Analyzer for MySQL

dpa-anomaly-detection

SolarWinds Database Performance Analyzer (DPA) ofrece una herramienta de análisis y monitorización del rendimiento de la base de datos de pila completa. Es una excelente solución para los administradores de bases de datos, equipos de TI y desarrolladores de aplicaciones por igual. Soporta la monitorización en tiempo real y analiza las instancias de bases de datos SQL para mitigar los cuellos de botella, mejorar los servicios y ahorrar costes. Puede comparar fácilmente las métricas de rendimiento de MySQL frente a las de SQL Server si utiliza ambos tipos de bases de datos.

Esta solución multiplataforma para la supervisión del rendimiento de las bases de datos funciona tanto en la nube como en las instalaciones, lo que la convierte en una opción ideal para una serie de organizaciones diferentes. Tiene un montón de características útiles, como la detección de anomalías basada en el aprendizaje automático y el análisis en profundidad del tiempo de espera. Estas características permiten a los administradores de TI mejorar el tiempo medio de resolución y abordar los problemas de rendimiento de la base de datos con mayor rapidez.

Una de sus mejores características es que ofrece a los equipos de TI datos históricos y en tiempo real de su rendimiento de MySQL mediante el seguimiento del tiempo de respuesta y las estadísticas del servidor en el repositorio del almacén de datos (que se puede configurar directamente en su base de datos MySQL). Esta información permite a los administradores de bases de datos abordar problemas críticos con un mejor conocimiento de su infraestructura de servidores.

Además, SolarWinds DPA es increíblemente fácil de usar. Puede establecer alertas personalizadas, crear métricas personalizadas e incluso programar informes gráficos de rendimiento y enviarlos por correo electrónico al equipo de TI correspondiente. Para ver si DPA es la mejor solución para sus necesidades de monitorización de MySQL, puede descargar la herramienta completamente funcional sin riesgo durante 14 días.

PROS:

  • Soporta una amplia variedad de bases de datos, tanto en la nube como en las instalaciones.
  • Es fácil de usar pero flexible, permitiendo alertas personalizadas, métricas y más.
  • Utiliza la detección de anomalías impulsada por la IA, mejorando el tiempo medio de resolución de muchos problemas.
  1. Idera Diagnostic Manager

Idera SQL Diagnostic Manager

Idera Diagnostic manager ofrece a los equipos de TI la supervisión del rendimiento de las bases de datos SQL en entornos físicos y virtuales. Realiza un seguimiento de las estadísticas de rendimiento y las métricas clave y puede configurarse para enviar alertas que ayuden a los DBA a gestionar mejor sus VM y su base de datos. También permite a los equipos de TI realizar una monitorización proactiva de las consultas junto con la monitorización transaccional de SQL, al tiempo que le proporciona recomendaciones para su DBMS SQL.

Con Idera, puede obtener información no sólo sobre la disponibilidad y la salud, sino también sobre las vulnerabilidades de seguridad y los ajustes de configuración. Utilice gráficos visuales sencillos para obtener visibilidad de un vistazo: analice fácilmente métricas como el espacio en disco u obtenga una visión general de los servidores con advertencias y alertas actuales. En general, se trata de una herramienta útil y flexible para supervisar las bases de datos SQL.

PROS:

  • Idera permite la supervisión proactiva de las consultas y proporciona recomendaciones.
  • Proporciona información sobre las vulnerabilidades de seguridad, los problemas de configuración, la disponibilidad de la base de datos y la salud.
  • Los gráficos sencillos permiten visualizar rápidamente las principales métricas y las advertencias del servidor.

  1. SolarWinds Database Performance Monitor

SolarWinds-DPM

SolarWinds Database Performance Monitor (DPM) es una solución de monitorización SaaS, lo que significa que no tiene que comprar o mantener una aplicación tradicional, lo que reduce drásticamente la fricción de empezar con ella.

La herramienta puede monitorizar bases de datos locales, en la nube e híbridas, y se centra en bases de datos de código abierto y NoSQL, lo que incluye no sólo MySQL sino también PostgreSQL y Redis. DPM ofrece una monitorización en tiempo real 24 horas al día, 7 días a la semana, para hacer un seguimiento de una plétora de métricas, y luego mostrarlas mediante un panel de control fácil de usar pero potente. Algunas de las métricas soportadas son:

  • MTTD
  • MTTR
  • Frecuencia de despliegue
  • Disponibilidad
  • Reducción de despliegues fallidos

DPM se toma la seguridad muy en serio, cumpliendo totalmente con SOC2 y GDPR.

PROS:

  • Solución basada en la nube, lo que significa menos fricción para empezar y usar.
  • Supervisión en tiempo real 24 horas al día y 7 días a la semana de un gran número de métricas.
  • Panel de control flexible pero fácil de usar.
  1. SQL Power Tools

SQL Power Tools

Otra buena opción para los DBA es SQL Power Tools. Anunciada como una solución de «impacto cero», esta solución de monitorización de bases de datos sin agentes proporciona a los equipos de TI acceso a más de 120 métricas diferentes de su infraestructura de servidor, desde tiempos de espera y bloqueos hasta uso de espacio en disco y fragmentación de índices. Se pueden ver las tendencias de 30 días o configurar alertas para un conocimiento instantáneo. Es una solución ligera y fiable con poca sobrecarga, pero las organizaciones más grandes pueden tener problemas para escalarla y adaptarla a sus necesidades.

PROS:

  • «Solución de impacto cero» con poca fricción.
  • Gran número de métricas para supervisar toda la infraestructura del servidor.
  • Herramienta ligera y fiable adecuada para escenarios más sencillos.
  1. Percona Monitoring and Management Tool

percona-pmm-postgres-working-Postgres_exporter

La Percona Monitoring and Management Tool es una solución gratuita y de código abierto que los administradores pueden utilizar para supervisar y gestionar sus bases de datos MySQL. Percona se puede adoptar completamente en su sistema de TI existente, lo que significa que los administradores pueden estar seguros de que la solución se ejecuta en un entorno seguro y fiable. Es más, Percona puede mapear las consultas contra las métricas, lo que permite a los SysAdmins tomar mejores decisiones para optimizar el rendimiento de su MySQL.

Como una opción de código abierto, el soporte puede ser limitado, y los equipos de TI perderán algunas de las funciones más avanzadas que esperarían ver en una solución de nivel empresarial. Pero en general, es una opción fiable para muchas organizaciones.

PROS:

  • Mapa las consultas contra las métricas, lo que permite a los administradores tener en cuenta las consultas al optimizar el rendimiento de MySQL.
  • Solución fiable y ligera que se adapta mejor a los escenarios más sencillos.
  1. AppDynamics

appdynamics-mysql

Esta herramienta MySQL de nivel empresarial tiene toneladas de características completas que la convierten en una solución excelente para muchas empresas grandes. Por un lado, ofrece a los equipos de TI información en tiempo real sobre el rendimiento de la base de datos MySQL y las métricas de salud, para que puedan identificar y solucionar los problemas con eficiencia. Además, AppDynamics permite a los equipos de TI establecer líneas de base métricas para lo que consideran estándares de rendimiento saludables para sus entornos MySQL. La herramienta recogerá y mostrará las nuevas métricas generadas contra dichas líneas de base, por lo que los administradores pueden supervisar sus sistemas con una mejor comprensión de lo que es un comportamiento saludable.

El único problema con AppDynamics es que la solución viene en un plan lite y un plan pro. Aunque el plan lite es gratuito, ofrece funciones limitadas y su retención de datos es casi inexistente. El plan pro es mejor, pero caro.

PROS:

  • Ofrece información en tiempo real sobre el rendimiento y las métricas de salud de MySQL.
  • Permite a los usuarios definir líneas de base para un rendimiento saludable, y luego basar las nuevas métricas en estas líneas de base.

La monitorización de la base de datos es una necesidad. Hágalo bien, hágalo constantemente y obtenga beneficios

Las bases de datos son fundamentales para prácticamente cualquier empresa tecnológica. Sin embargo, algunas empresas, a pesar de dedicar muchos recursos a sus bases de datos, no parecen preocuparse por monitorizarlas. Esto es desconcertante, ya que es como no querer conocer el rendimiento de una inversión, que además es especialmente costosa.

Cuando se trata de bases de datos relacionales, Microsoft SQL Server y MySQL son dos de las opciones más populares. Mientras que la primera es una oferta empresarial, desarrollada por una gigantesca corporación, la segunda es una herramienta gratuita y de código abierto, a pesar de estar también disponible bajo licencias comerciales. Al tratarse de dos bases de datos relacionales ampliamente conocidas, existe una enorme oferta de soluciones de monitorización de bases de datos orientadas a MySQL y SQL Server.

Rendimiento de MySql

Aunque todas las herramientas que hemos cubierto tienen sus méritos, mi principal elección es SolarWinds Database Performance Analyzer. Como he mencionado anteriormente, DPA cuenta con características de monitoreo y análisis sin precedentes.

Una mención de honor va a la otra herramienta de SolarWinds, Database Performance Monitor. DPM es una solución basada en la nube, sin necesidad de descarga, mantenimiento o aprovisionamiento. Las actualizaciones se hacen automáticamente. Y puesto que DPM es una solución SaaS dirigida específicamente a bases de datos de código abierto, es una opción sólida para la monitorización de MySQL.

Ahora debería estar listo para tomar una decisión informada sobre la herramienta adecuada para sus necesidades de monitorización de MySQL o SQL Server.