MySQL é um sistema de gerenciamento de banco de dados relacional de código aberto baseado em Structured Query Language (SQL). MySQL é utilizado por equipes de desenvolvimento em uma grande variedade de casos de uso, mais comumente em aplicações de armazenamento de dados, comércio eletrônico e logging. No entanto, sua implementação mais popular é em bancos de dados web, uma vez que é altamente flexível, confiável e escalável. Ele pode ser usado para armazenar tudo, desde registros únicos de informações até inventários completos de produtos.

DNS-DPM-Banner-Horizontal_728x90

SQL Server, por outro lado, é um sistema de gerenciamento de banco de dados relacional comercial desenvolvido primeiramente pela Microsoft. Como o MySQL, o SQL Server suporta muitas plataformas incluindo Linux, Microsoft Windows, e sistemas de servidores Windows. Mais comumente, o SQL Server é usado por desenvolvedores para aplicações .Net e projetos Windows. Como um produto comercial, o SQL Server tem uma comunidade mais ampla de suporte.

Neste guia, vou rever algumas métricas para ajudar nos seus esforços de ajuste de desempenho. Também vou discutir algumas das melhores ferramentas SQL Server e MySQL do mercado, incluindo a solução que eu mais recomendo – o Analisador de Performance de Banco de Dados SolarWinds® – devido às suas características robustas de monitoramento e análise, diferente de qualquer outra ferramenta no mercado.

Mysql performance

Monitoramento SQL e MySQL Performance Best Practices
Melhores ferramentas de ajuste de performance de MySQL e SQL Server
Monitoramento de banco de dados é uma necessidade. Faça corretamente, faça constantemente, e lucre

Monitorando SQL e MySQL Performance Best Practices

O aspecto mais importante de monitorar sua performance SQL é tomar decisões ponderadas sobre quais métricas e alertas você precisa monitorar. Embora isso dependa parcialmente da sua organização e da indústria, geralmente é uma boa idéia monitorar os seguintes processos:

  • Processo requerido em execução
  • Pontos de falha comuns
  • Utilização de recursos
  • Execução de consultas (falhas e completações)

Além de monitorar esses processos, você também quer monitorar métricas específicas relacionadas à sua performance de visualização do MySQL. O seguinte é um bom lugar para começar:

  • Uptime: O segundo que leva para um servidor responder a uma requisição.
  • Threads conectados: O número de clientes actualmente ligados ao servidor. Se ninguém estiver conectado ou se forem muitos, isto pode ser um sinal de problemas.
  • Máximo de conexões usadas: O número de conexões feitas desde que o servidor foi iniciado.
  • Conexões abortadas: O número de tentativas de conexão falhadas. Muitas podem ser um sinal de atividade suspeita.

As equipes de desenvolvimento também devem ter certeza que monitoram métricas de consulta SQL para garantir que o banco de dados está cumprindo suas tarefas básicas. Alguns exemplos são:

  • Perguntas: O número de declarações enviadas pelos clientes.
  • Consultas: O número de comandos executados incluindo procedimentos armazenados.
  • Pedidos de leitura e escrita: O que permite a usuários e desenvolvedores acessar a mesma página em tempo real.

Outras métricas importantes a serem coletadas para realizar o ajuste de performance do SQL Server ou MySQL incluem erros SQL típicos. Estes são os pontos de falha frequentes nos quais você deve estar sempre atento:

  • Erros: Verifique sempre se não existem erros no ficheiro mysql.log.
  • Tamanho dos ficheiros de registo: Inspeccione os fluxos de registo para ver se todos os ficheiros estão a ser rodados correctamente. Se não estiver, pode estrangular seu servidor.
  • Arquivos de log deletados: Certifique-se de que o descritor de ficheiros está fechado após qualquer ficheiro de log ter sido apagado.
  • Espaço de backup: Certifique-se sempre de que tem espaço suficiente em disco para backups.

Best MySQL and SQL Server Performance Tuning Tools

A tentativa de capturar as métricas acima é difícil sem as ferramentas certas. Os seguintes programas são algumas das melhores ferramentas para monitorar bancos de dados SQL em tempo real, quer você use MySQL, SQL Server, ou outro banco de dados relacional.

  1. SolarWinds Database Performance Analyzer for MySQL

dpa-anomaly-detection

SolarWinds Database Performance Analyzer (DPA) oferece uma ferramenta completa de monitoramento e análise de desempenho de bancos de dados em pilha. É uma excelente solução para administradores de banco de dados, equipes de TI e desenvolvedores de aplicativos. Ele suporta monitoramento em tempo real e analisa instâncias de bancos de dados SQL para mitigar gargalos, melhorar serviços e economizar custos. Você pode facilmente comparar métricas de desempenho MySQL vs. SQL Server se você usar ambos os tipos de bancos de dados.

Esta solução multiplataforma para monitoramento do desempenho de bancos de dados funciona tanto em bancos de dados em nuvem quanto em locais, tornando-a uma escolha ideal para uma variedade de organizações diferentes. Ela possui toneladas de recursos úteis, como a detecção de anomalias alimentadas pela aprendizagem da máquina e a análise profunda do tempo de espera. Estes recursos permitem que os administradores de TI melhorem seu tempo médio para resolução e resolvam problemas de performance de banco de dados com maior velocidade.

Uma de suas melhores características é que ele oferece às equipes de TI dados históricos e em tempo real de sua performance MySQL, rastreando o tempo de resposta e as estatísticas do servidor no repositório de armazenamento de dados (que pode ser configurado diretamente no seu banco de dados MySQL). Estes conhecimentos permitem aos DBAs resolver problemas críticos com uma melhor compreensão da infra-estrutura do seu servidor.

O que é mais, o SolarWinds DPA é incrivelmente fácil de usar. Você pode definir alertas personalizados, criar métricas personalizadas, e até mesmo agendar relatórios gráficos de desempenho e tê-los entregues via e-mail para a equipe de TI relevante. Para ver se o DPA é a melhor solução para suas necessidades de monitoramento MySQL, você pode baixar a ferramenta totalmente funcional sem riscos por 14 dias.

PROS:

  • Suporta uma grande variedade de bancos de dados, tanto na nuvem como no local.
  • É fácil de usar, mas flexível, permitindo alertas personalizados, métricas, e muito mais.
  • Usa detecção de anomalias alimentada por IA, melhorando o tempo médio para a resolução de muitos problemas.
  1. Idera Diagnostic Manager

Idera SQL Diagnostic Manager

Idera Diagnostic Manager oferece às equipas de TI monitorização do desempenho de bases de dados SQL em ambientes físicos e virtuais. Ele rastreia estatísticas de desempenho e métricas chave e pode ser configurado para enviar alertas para ajudar DBAs a gerenciar melhor suas VMs e banco de dados. Ele também permite que as equipes de TI realizem monitoramento proativo de consultas junto com o monitoramento SQL transacional, enquanto fornece recomendações para o seu SGBD SQL.

Com Idera, você pode obter uma visão não só da disponibilidade e saúde, mas também das vulnerabilidades de segurança e das configurações. Use gráficos visuais simples para uma visão geral – analise facilmente métricas como espaço em disco ou obtenha uma visão geral dos servidores com avisos e alertas atuais. Em geral, esta é uma ferramenta útil e flexível para monitorar bancos de dados SQL.

PROS:

  • Idera permite monitoramento proativo de consultas e fornece recomendações.
  • Provê insights sobre vulnerabilidades de segurança, problemas de configuração, disponibilidade do banco de dados e saúde.
  • Gráficos simples permitem visualização rápida das principais métricas e avisos do servidor.
  1. SolarWinds Database Performance Monitor

SolarWinds-DPM

SolarWinds Database Performance Monitor (DPM) é uma solução de monitoramento SaaS, o que significa que você não precisa comprar ou manter uma aplicação tradicional, o que reduz drasticamente o atrito de começar com ela.

A ferramenta pode monitorar bancos de dados localmente, na nuvem e híbrido, e foca em bancos de dados open-source e NoSQL, que inclui não apenas MySQL, mas também PostgreSQL e Redis. O DPM oferece monitoramento em tempo real 24/7 para rastrear uma infinidade de métricas, e depois exibi-las usando um painel de controle de fácil utilização, porém poderoso. Algumas das métricas suportadas são:

  • MTTD
  • MTTR
  • Deploy frequency
  • Availability
  • Reduced failed deploys

DPM leva a segurança a sério, sendo totalmente compatível com ambos SOC2 e GDPR.

PROS:

  • Solução baseada em nuvem, o que significa menos fricção para começar e usar.
  • Monitoramento em tempo real em um grande número de métricas.
  • Dashboard flexível e fácil de usar.
  1. SQL Power Tools

SQL Power Tools

Outra boa opção para DBAs é o SQL Power Tools. Encarregada de ser uma solução de “impacto zero”, esta solução de monitorização de base de dados sem agentes fornece às equipas de TI acesso a mais de 120 métricas diferentes da infra-estrutura do seu servidor, desde tempos de espera e bloqueio ao uso de espaço em disco e fragmentação de índices. Você pode visualizar tendências de 30 dias ou configurar alertas para percepção instantânea. É uma solução leve e confiável com pouca sobrecarga, mas organizações maiores podem ter dificuldades para dimensioná-la de acordo com suas necessidades.

PROS:

  • “Solução de impacto zero” com baixo atrito.
  • Um grande número de métricas para monitorar toda a infraestrutura do servidor.
  • Ferramenta leve e confiável adequada para cenários mais simples.
    >

  1. Percona Monitoring and Management Tool

>percona-pmm-postgres-working-Postgres_exporter

The Percona Monitoring and Management Tool is a free, open-source solution admins can use to monitor and manage their MySQL databases. Percona pode ser totalmente adoptado no seu sistema informático existente, o que significa que os administradores podem ter a certeza que a solução é executada numa configuração segura e fiável. Além disso, Percona pode mapear consultas contra métricas, o que permite que SysAdmins tomem melhores decisões para otimizar seu desempenho MySQL.

Como uma opção open-source, o suporte pode ser limitado, e as equipes de TI perderão algumas das funções mais avançadas que esperariam ver em uma solução de nível empresarial. Mas no geral, é uma opção confiável para muitas organizações.

PROS:

  • Maps queries contra métricas, permitindo aos administradores levar em conta as queries ao otimizar a performance do MySQL.
  • Solução confiável e leve, mais adequada para cenários mais simples.
  1. AppDynamics

appdynamics-mysql

Esta ferramenta MySQL de nível empresarial tem toneladas de recursos abrangentes que a tornam uma excelente solução para muitas grandes empresas. Para uma delas, ela oferece às equipes de TI insights em tempo real sobre o desempenho do banco de dados MySQL e métricas de saúde, para que elas possam identificar e solucionar problemas com eficiência. Além disso, a AppDynamics permite às equipas de TI definir linhas de base de métricas para o que elas consideram ser padrões de desempenho saudáveis para os seus ambientes MySQL. A ferramenta irá então coletar e exibir métricas recentemente geradas em relação a essas linhas de base, para que os administradores possam monitorar seus sistemas com um melhor entendimento do que é comportamento saudável.

O único problema com AppDynamics é que a solução vem em um plano lite e um plano profissional. Enquanto o plano lite é livre de usar, ele oferece características limitadas e sua retenção de dados é quase inexistente. O plano pro é melhor, mas caro.

PROS:

  • Oferece insights em tempo real sobre desempenho MySQL e métricas de saúde.
  • Permite aos usuários definir linhas de base para desempenho saudável, e então basear novas métricas nestas linhas de base.

Monitoramento de banco de dados é um imperativo. Faça corretamente, faça constantemente e lucre

Bases de dados são centrais para praticamente qualquer esforço tecnológico. No entanto, algumas empresas, apesar de dedicarem muitos recursos em seus bancos de dados, parecem não se importar em monitorá-los. Isso é desconcertante uma vez que é como não querer saber o retorno de um investimento e um particularmente caro nisso.

Quando se trata de bases de dados relacionais, o Microsoft SQL Server e o MySQL são duas das escolhas mais populares. Enquanto a primeira é uma oferta empresarial, desenvolvida por uma corporação gigantesca, a segunda é uma ferramenta livre e de código aberto, apesar de também estar disponível sob licenças comerciais. Sendo dois bancos de dados relacionais amplamente conhecidos, há uma enorme oferta de soluções de monitoramento de bancos de dados visando MySQL e SQL Server.

mysql performance

Alembora todas as ferramentas que cobrimos tenham seus méritos, minha principal escolha é o SolarWinds Database Performance Analyzer. Como mencionei anteriormente, a DPA apresenta características inigualáveis de monitoramento e análise.

Uma menção honrosa vai para outra ferramenta, o Monitor de Desempenho de Banco de Dados do SolarWinds. O DPM é uma solução baseada em nuvem, sem necessidade de download, manutenção ou provisionamento. As actualizações são feitas automaticamente. E como o DPM é uma solução SaaS que visa especificamente bancos de dados de código aberto, é uma escolha sólida para monitoramento MySQL.

Por agora você deve estar pronto para tomar uma decisão educada sobre a ferramenta certa para suas necessidades de monitoramento MySQL ou SQL Server.