Era uma bela tarde chuvosa em Porto Alegre, daquelas que convidam a um café com leite e bolo de laranja e uma esticadinha pelos canais de filmes da tevê, quando os tickets de suporte avisando que um servidor estava arriado começaram a chegar. Conseguimos responder o primeiro ticket em 45 segundos, em menos de um minuto havíamos identificado a conta que estava causando problemas, desabilitamo-la, mas isso nem de longe resolveria o problema. No máximo amenizar para os “vizinhos” do site suspenso, mas a situação só estaria resolvida quando todos os envolvidos estivessem satisfeitos.
O que a gente ouve é sempre a mesma coisa: “eu não mexi em nada no site, como é que de uma hora para outra começou a consumir tanto?” Acontece que o problema começou a acontecer numa outra conta também, e com o cliente no MSN fomos desativando um por um dos plugins, até que o aLinks foi desativado, e o consumo de CPU baixou para os níveis normais do servidor. Pedi, então, ao outro cliente que o desabilitasse também. Ficamos intrigados com o que poderia estar causando este problema, pois eu próprio uso o aLinks em diversos blogs, e não tenho este tipo de problema. Analisando o código do plugin, contudo, tive um insight: os dois certamente teriam ativado a opção de gerar links nos comentários. Perguntei, e ambos disseram que sim. Voltamos à configuração de gerar links apenas no post, e os problemas acabaram. É perfeitamente compreensível que a geração de links nos comentários pese excessivamente em um blog, principalmente se considerarmos que o aLinks usa muitas expressões regulares, que por natureza são pesadas para o PHP processar. Vejamos um cálculo ilustrativo. Consideremos “n” como sendo a carga necessária para o aLinks converter os termos de um determinado texto. Consideremos também “c” como sendo a quantidade de comentários de cada post. Ora, se o aLinks vai ter de ser executado sempre para converter os links para o post, mais uma vez por comentário, temos a seguinte fórmula hipética: N = (c+1)n Ou seja, a carga total é o resultado da carga individual multiplicada pela quantidade de comentários mais um. Veja no gráfico abaixo o aumento de carga de acordo com o aumento de comentários por página. A linha azul indica o aumento de comentários numa página, e a linha vermelha indica a carga na CPU.
Então, agora você já sabe: sem problemas de usar o aLinks, mas muito cuidado com as opções de configuração, ou seu site pode ter de ser suspenso por consumo excessivo de CPU. |
Textos possivelmente relacionados a este:

