Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Atividade excessiva do MySQL


Neste artigo, discutiremos o impacto da atividade excessiva do MySQL e como isso pode ser prejudicial ao uso geral de recursos da sua conta. MySQL é o back-end de banco de dados de muitos aplicativos da Web populares e é onde esses aplicativos armazenam seus dados para serem recuperados posteriormente por scripts do lado do servidor para puxar essas informações para suas páginas.

Se por acaso você recebeu um aviso do nosso departamento de administração do sistema sobre atividade excessiva do MySQL proveniente de sua conta, provavelmente isso significa que o nível de atividade que eles estavam vendo excedeu os recursos da plataforma de hospedagem em que sua conta reside atualmente.

Causas comuns de atividade excessiva do MySQL

Consultas de longa duração Uma consulta SQL típica deve ser concluída dentro de 1 segundo a talvez alguns segundos no máximo. Ter consultas de longa duração que excedam consistentemente esses tempos de consulta pode levar a atrasos na exibição de outras consultas no servidor.
Altas consultas por segundo Normalmente, as consultas SQL virão em pequenas ondas em proporção direta ao seu tráfego e, se seus scripts exigirem uma grande quantidade de consultas SQL por carregamento de página, você poderá ter um número alto de consultas SQL por segundo, o que pode causar um impacto negativo no desempenho de consultas do servidor e começar a gerar consultas de longa duração.
Consultas grandes não otimizadas Algumas consultas SQL serão de natureza muito complexa, especialmente aquelas que unem várias tabelas de dados antes de realizar operações nesses dados. Garantir que suas consultas SQL sejam eficientes e apenas extraiam os dados que realmente precisam exibir pode ajudar a impedir que essas consultas ineficientes causem consultas de longa duração ou um alto número de consultas por segundo.
Conexões persistentes A maioria das consultas SQL simplesmente abre uma conexão com o banco de dados, recupera dados e fecha a conexão com o banco de dados. O MySQL também suporta conexões persistentes onde a conexão é mantida mesmo depois que os dados são recuperados. Isso às vezes pode ser problemático, especialmente em hospedagem compartilhada, onde você pode encontrar o máximo _user_connections limite definido no MySQL.

Na maioria dos casos, se sua atividade no MySQL for excessiva, nosso departamento de administração do sistema entrará em contato com você com uma explicação geral sobre a origem da atividade.

Otimizando o uso do MySQL


Um bom primeiro passo para otimizar seu banco de dados MySQL é usar o phpMyAdmin para otimizar um banco de dados.

Às vezes, sua atividade normal do MySQL pode estar perfeitamente bem, mas quando os robôs começam a rastrear seu site, isso pode destacar ineficiências em seu aplicativo, portanto, saber como impedir que mecanismos de pesquisa e robôs rastreiem seu site também seria uma boa informação.

Finalmente, você também gostaria de ver as opções de cache SQL disponíveis para seu aplicativo. Por exemplo, se sua página inicial requer 2 consultas SQL para exibir todas as informações nessa página, e você tem 100 pessoas acessando essa página, serão 200 consultas e não está recuperando nenhum dado exclusivo da mesma forma todas as vezes.

A implementação do cache SQL pode ajudar a reduzir essas consultas de banco de dados duplicadas, para um exemplo desse tipo de cache, você pode ler sobre como otimizar o WordPress com o plug-in W3 Total Cache.