Por que meu site está lento? Identificando e resolvendo!
Todo administrador de site sabe que ao longo do tempo, o seu desempenho pode variar e em alguns momentos, o site pode ficar notavelmente lento.
Embora não seja algo desejável, é quase inevitável que isso vá acontecer algum dia.
Algumas das causas que acarretam lentidão, podem ser evitadas e outras resolvidas com certa faciliidade e é justamente sobre isso que falaremos em nosso encontro de hoje.
O que pode causar lentidão de um site?
A lentidão de qualquer tipo de site, pode ser atribuída a uma lista razoavelmente extensa de motivos e nossa proposta é saber quais são essas razões e identificar quais cabem ao administrador resolver e quais não.
Algumas podem ser bastate simples e outras nem tanto.
Portanto, vamos focar naquilo que está ao alcance do administrador tratar, já que por razões óbvias não adianta nos estendermos muito em aspectos que fogem ao seu controle.
Entretanto, vamos sim mencionar também as causas externas que independem de qualquer ação do administrador, de modo que se saiba tudo o que pode influenciar o desempenho de um site.
Começaremos listando os fatores cuja solução estão 100% relacionadas ao seu site, ou seja, os problemas internos e que a solução não depende de terceiros:
-
Plugins – no caso de sites baseados em CMSs, os plugins muitas vezes são uma causa frequente de lentidão;
-
Temas – outro fator que pode ser motivo de lentidão nos sites baseados em CMSs, é o tema utilizado;
-
Componentes de terceiros – tanto plugins, como temas, podem fazer uso de componentes de terceiros, os quais podem ser a causa da lentidão;
-
Banco de dados – quando um site faz uso extensivo de banco de dados, o que é bastante comum, esse pode ser também um elemento causador de lentidão;
-
Programação – a programação ou código-fonte do site pode produzir lentidão, ainda que pareça estar funcional para a maior parte das situações;
-
Invasão – embora em uma primeira análise possa se pensar que a invasão do site constituam uma causa externa, há sim circunstâncias nas quais um ataque tem origem em um problema do site;
-
Visitação – outro aspecto que pode parecer externo, mas que tem estreita relação com o próprio site;
-
Plano de hospedagem – pode ser causa quando o plano de hospedagem é inadequado ao perfil do site;
-
Hosting – refere-se ao provedor de serviços de hospedagem.
Como mencionamos, há causas ou fatores externos e que podem tornar um site lento:
-
Ataques – alguns tipos de ataques, como um ataque DDoS dirigido ao site – pouco provável, mas possível – ou a outro site hospedado na mesma rede ou em servidor compartilhado;
-
Conectividade – questões de conectividade com o site, como por exemplo, problemas de rota no provedor de acesso e que podem ser identificadas com o comando traceroute, manifestam-se na forma de lentidão no acesso;
-
Acessos – quando há elevação no número de acessos / visitantes no site, devido a razões imprevisíveis, como links externos, engajamento, etc.
-
Hosting – problemas diversos do ambiente de hospedagem, como falhas na infraestrutura de hospedagem, ou servidor compartilhado sobrecarregado, por exemplo.
Entendendo as causas de lentidão de um site
Uma vez conhecidas as causas mais comuns de lentidão de qualquer tipo de site, é preciso compreender como e porque cada uma tem influência no desempenho.
Antes porém, é importante fazermos algumas ressalvas:
-
Diagnóstico – o administrador deve ser capaz de conduzir um diagnóstico para identificar com precisão a(s) causa(s) e assim adotar as medidas corretivas. Dedicamos mais a frente um tópico específico sobre isso;
-
Causas – conforme mencionamos acima, pode haver mais de uma causa, ou seja, a combinação de dois ou mais fatores são a razão da lentidão;
-
Testes – é preciso realizar testes de forma extensiva, já que algumas causas podem depender de circunstâncias especiais.
Lentidão por plugins
Um percentual significativo dos sites hoje em dia é baseado em algum CMS, como é o caso do WordPress, o que que significa que deve haver uma variedade de plugins instalados, os quais são responsáveis pelo funcionamento do site e pelos recursos disponibilizados aos seus visitantes.
Há normalmente dois tipos de problemas relacionados aos plugins:
-
Quantidade de plugins instalados. Não é raro encontrar sites baseados no WordPress, com 20 ou mais plugins instalados. Se o site faz uso de planos mais básicos de hospedagem compartilhada, com tantos plugins, invariavelmente o site terá problemas de desempenho, pois esse não é o tipo de plano mais adequado a sites com muitos recursos;
-
Um plugin específico. Ocorre que algumas empresas ou desenvolvedores de plugins, não elaboram uma programação otimizada e levando em conta o bom desempenho, fazendo com que o plugin consuma recursos (memória e processamento) em excesso quando é utilizado. Quando se esgotam os recursos do plano de hospedagem, podem ocorrer mensagens de erro e lentidão no site.
Além das possibilidades acima, não é raro que um plugin que inicialmente não interferisse de modo significativo no desempenho por ocasião da instalação, passe a afetar o site após uma atualização, seja por um erro de programação, seja por algum novo recurso que foi incluído.
Lentidão causada pelo tema
Da mesma forma que os plugins, os temas são parte essencial dos sites baseados em CMSs.
Embora menos comum, também pode ser a razão da lentidão observada no site, seja porque há temas que fazem alterações substanciais no layout do WordPress, seja porque usam componentes de terceiros, como fontes, por exemplo.
É importante notar que assim como acontece no caso dos plugins, um tema pode conter um problema na atualização e a partir dela, afetar o desempenho do site.
Em ambos os casos – plugins e tema – quando o CMS está configurado para atualizações automáticas, é importante que o administrador esteja atento e acesse com frequência o painel administrativo do CMS.
Componentes de terceiros causando lentidão
Há componentes de terceiros e que são inclusos em alguns temas e plugins, como por exemplo, fontes externas e que podem interferir significativamente no desempenho, quando o seu carregamento, ou seja, o servidor de onde são baixados, também tem algum problema de lentidão.
Lentidão relacionada ao banco de dados
Os bancos de dados são parte fundamental de todos os CMSs modernos. Componentes, plugins e temas, bem como o próprio núcleo da aplicação, utilizam extensivamente o banco de dados para armazenar informações relativas ao site.
Com o tempo e o crescimento do site, o banco de dados também vai crescendo e às vezes torna o banco de dados muito grande ou com alguns erros, os quais podem afetar o desempenho do site.
Lentidão por conta da programação
Sites que são desenvolvidos a partir de programação de agências ou de web designers, assim como no caso dos plugins e temas, também podem apresentar alguns problemas ou erros na estrutura lógica, acarretando degradação do desempenho do site.
Pode ser um problema de lógica, que só se manifeste em condições especiais e, portanto, difícil de identificar e que não se manifesta na maior parte do tempo.
Esse problema pode trazer outras consequências, quando uma programação falha alimenta o banco de dados com dados incorretos ou mesmo em demasia, uma situação que não é rara principalmente em problemas de segurança, como SPAM ou SQL injection.
Lentidão causada por invasão
Embora geralmente invasões sejam uma causa de problema que o administrador a princípio não tem como controlar, são razoavelmente comuns os casos em que o ataque ao site ou o seu uso para atacar outros sites, é decorrente do uso de um plugin comprometido ou com falhas de programação.
É bastante comum que na invasão do site, o invasor suba arquivos para usar a conta de hospedagem com finalidades diversas, como hospedar um site falso de phishing, ou quem sabe um script de envios em massa de mensagens de e-mail.
Site lento por visitação
Foram adotadas medidas para impulsionar o site e que produziram um aumento de visitação?
É preciso ter em mente que um aumento do número de visitantes, a depender de quanto representou, pode levar ao esgotamento dos recursos (processamento, memória, largura de banda e número de processos do PHP e MySQL, etc) e consequente lentidão.
Vale notar que essa é uma causa que isoladamente pode não ser significativa, mas que combinada às demais, pode ter um impacto importante.
Site lento por conta do plano
Há planos de hospedagem que são dedicados a sites simples, como um site institucional com poucas dezenas de visitas diárias.
Hospedar um site de e-commerce ou quem sabe um fórum em planos assim, ou ainda ter vários tipos de sites, inevitavelmente em algum momento acarretará lentidão.
Mas há outras razões, como por exemplo, o uso de outros recursos da hospedagem, como o envio de e-mail Marketing, que é algo não apropriado para planos compartilhados.
Lentidão no hosting
É comum a escolha da empresa de hospedagem (hosting), considerando apenas os preços dos planos e muitas vezes para poderem oferecer planos extremamente baratos, populam um servidor com milhares de contas, o que acaba refletindo no desempenho.
É responsabilidade do administrador, quando a escolha foi baseada em critérios exclusivamente de preço, buscar um que ofereça uma boa infraestrutura.
Como fazer diagnóstico para identificar a causa da lentidão no site?
É importante saber como proceder, principalmente nos casos em que a lentidão está relacionada ao conteúdo do site.
A seguir vamos listar os procedimentos básicos que devem ser adotados para cada uma das situações mais comuns definidas anteriormente, ressaltando que em alguns casos mais críticos, pode ser necessário buscar a ajuda de um profissional experiente e habilitado.
Plugins
Se você instalou um plugin recentemente e a partir daí identificou a lentidão, então provavelmente ele é o causador, bastando desativá-lo.
Todavia, se a causa da lentidão é devida ao excesso de plugins, desative todos, exceto aqueles que são essenciais ao funcionamento e aos principais recursos do site e navegue no site para ver o seu desempenho.
Feito isso, ative um a um os demais plugins e após cada ativação navegue para identificar aquele cuja ativação acarretou a degradação do desempenho. Mas isso não basta.
É preciso observar por algum tempo o desempenho, especialmente nos dias e horários de pico.
Caso você não possa abrir mão da quantidade de plugins que você tem instalado no seu CMS, necessariamente você terá que buscar um plano de hospedagem personalizado ou desenvolvido especialmente para hospedar sites mais pesados
Temas
De maneira similar ao que você fez com os plugins, procure ativar o tema padrão do seu CMS e observe se houve mudança significativa na velocidade de navegação.
Sendo essa a causa do problema, é conveniente que você busque um tema mais leve ou a mudança para um plano de hospedagem personalizado ou destinado a sites mais robustos.
Programação
Se o problema for relacionado a programação, seja ela do seu CMS, ou a que foi feita por quem criou o seu site, ou até mesmo por você, um bom indicativo de onde reside o problema, são os logs de erros.
Neles são armazenadas as mensagens de erro e a partir de sua interpretação, pode-se identificar um problema na programação.
Mas nem todo problema de lentidão decorrente de programação pode acarretar necessariamente um erro.
Nesses casos é necessário um programador experiente, que irá depurar o código em busca de situações que podem estar acarretando a lentidão.
Outra medida que pode ajudar a identificar, é o uso do comando top. Para tanto, é necessário acessar a conta via SSH e observar o tempo dos processos do PHP e MySQL.
Bancos de dados
Bancos de dados muito grandes ou com erros em tabelas, precisam passar por procedimentos especiais, no entanto, em alguns casos extremos podem não ser suficientes e então é necessário recorrer a um especialista.
Nas situações mais simples e corriqueiras, basta realizar-se uma reparação de tabelas e otimização do banco de dados, recursos normalmente disponíveis no painel de controle da sua conta de hospedagem.
Invasões
O procedimento para solucionar lentidão decorrente de invasão ao sit, é semelhante ao utilizado nos plugins com problemas de programação, ou seja, você tem que desativá-los e desinstalá-los, pois em casos específicos a simples desativação não é suficiente.
O problema nesse caso é identificar qual plugin é o causador do problema. Geralmente a empresa de hospedagem é capaz de informar o arquivo de onde partem ou chegam requisições excessivas e assim saber qual o plugin desativar.
Aqui também se pode usar o comando top para identificar processos suspeitos, bem como os arquivos de logs do sistema, nos quais ficam registradas informações que podem ajudar a identificar ações incomuns.
Por fim, mas não menos importante, deve-se verificar a existência de arquivos e diretórios que não pertencem ao site.
Outras ações
Conforme mencionamos, o comando top, que é executado via linha de comando, é bastante útil, já que permite monitorar a conta em tempo real e observar dados como uso de CPU, memória e processos rodando sob a conta.
Além do top, os painéis de controle das melhores empresas de hospedagem, também fornecem informações valiosas e permitem observar ao longo de um período, a utilização de vários recursos, como tráfego, transferência, número de processos, uso de CPU e memória.
A depender do hosting, o suporte tem condições de detalhar o uso da ferramenta e como interpretar os dados existentes.
Lentidão acarretada por excesso de visitantes, é outra causa que pode ser verificada ao se acessar as métricas do site, tanto pelo próprio sistema de estatísticas internas, bem como por meio de ferramentas externas.
A importância do backup
Toda alteração que foi feita no site, seja na instalação de plugins, componentes, temas, otimização do banco de dados, deve ser precedida por um backup.
Algumas alterações, principalmente as mais extensas, estão mais sujeitas a problemas de perdas ou corrompimento de dados e assim é fundamental dispor de um backup atualizado relativo ao momento anterior à alteração, de forma que se possa restituir o conteúdo original rapidamente.
Em outros casos, como no caso de invasões que alteram o conteúdo do site, o backup é uma maneira confiável e rápida de restitui-lo à condição anterior à invasão.
Conclusão
A variedade de possíveis causas de lentidão de um site, exige do administrador conhecê-las para fazer um diagnóstico preciso e solucionar o problema.