it-swarm-pt.tech

São plugins pesados ​​ou muitos plugins que tornam um site lento?

Eu sempre ouvi dizer que ter muitos plugins irá atrasar um site WordPress. Isso faz sentido, claro, como quanto mais código for executado, mais tempo levará.

Eu estou querendo saber se a lentidão é principalmente:

  • um resultado do grande número de plugins? (porque WP tem que fazer algum processamento para localizar e carregar cada plugin)

  • um resultado de ter alguns plugins lentos/pesados?

Mais praticamente, quando estou escrevendo, devo combinar funcionalidade em menos arquivos para ganhar velocidade? Ou não há problema em ter 10-20 plugins cada um fazendo uma tarefa rápida?

6
allclaws

Generalidades

A regra de ouro " muitos plugins retardam um site " é um instrumento muito contundente e é perpetuado por aqueles que não entendem como os plugins funcionam, então eles escolhem algo fácil de demonizar.

Sim, os plugins podem tornar o seu site mais lento, mas isso não tem a ver com a quantidade que tem a ver com a qualidade e com o que eles estão tentando realizar. Eu poderia escrever um único plugin que traria um site aos seus joelhos (se houvesse uma razão para eu fazer isso) e seria pior do que 50 outros plugins bem escritos. É claro que as pessoas escrevem plugins o tempo todo que deixam o site de joelhos porque não sabem nada melhor.

Eu acho que a única verdade para " muitos plugins retardar um site " é que quando você tem um monte de plugins é mais provável que você vai pegar um mau.

Especificidades

Então vamos falar mais específicos. Plugins usam " hooks " que são pedaços de código PHP que executam certos pontos ao longo do caminho de execução e podem fazer algo ou filtrar um valor ou ambos. O WordPress começa a chamar os ganchos mais cedo em seus esforços para compor uma página da web e gerar HTML para enviar para o navegador e continua chamando ganchos quase até terminar a execução de uma determinada página.

Dependendo de quais ganchos um plug-in usa, ele pode ser chamado apenas em certas páginas, no " plano de fundo " ou até quase nunca. Alguns ganchos funcionam apenas no console administrativo. Alguns ganchos funcionam apenas em determinadas páginas do console de administração. E alguns ganchos são chamados pelo sistema psuedo-cron interno . OTOH, alguns plug-ins podem carregar arquivos CSS ou JS extras e cada um desses arquivos diminui o desempenho devido a Regra de Desempenho da Web # 1 .

Se você quiser ter uma idéia de quais ganchos são chamados em cada página, considere o uso de " Ganchos de Instrumento para WordPress "plugin que escrevi para a pergunta" Onde posso encontrar uma lista de WordPress Hooks? "Aqui está uma captura de tela do que o plugin mostra no rodapé quando usado:

Screenshot of Instrument Hooks for WordPress Plugin in action

Mas apenas sabendo os ganchos não vai ajudar você a saber com certeza se há um problema com um plugin. Você poderia chamar um plug-in 100 vezes e chamá-lo poderia ser insignificante comparado a outro gancho que adiciona uma cláusula WHERE a uma consulta SQL que poderia atolar um site com mais de algumas centenas de posts. Ou poderia fazer uma chamada HTTP para outro servidor. Ou pode liberar as regras de reescrita em cada carregamento de página. A lista de pecados continua.

A única maneira real de saber com certeza auditar os ganchos do plug-in, revisando o código-fonte ou melhor executando-o através de um depurador como PhpStorm + XDEBUG .

Seus próprios plugins

Não se preocupe em como o código é organizado para fins de desempenho ; se preocupe com o que seu código faz. Otimizando uma consulta SQL executada com freqüência buy alavancando a API Transiente (Consulte: A apresentação sobre a API transitória ) seria muito melhor para o desempenho do que mesclar o código de 10 plugins em um.

Por outro lado, considere organizar seu código por outros motivos. Eu acho que uma longa lista de plugins pode criar sofrimento psicológico para muitos usuários; eles vêem uma tela como essa, ficam sobrecarregados e só querem simplificar as coisas:

Long List of Plugins
(fonte: mikeschinkel.com )

No entanto, por outro lado às vezes os usuários podem ficar sobrecarregados porque um plugin faz muito. Por exemplo, eu me senti assim com o Plugin Gd Star Rating . Depois de tentar em um projeto (e pior, tentando ligar para fazer o que eu precisava), decidi jogá-lo na orelha.

Então algumas pessoas (como eu) muitas vezes preferem um monte de pequenos plugins curtos que fazem uma coisa e fazem isso bem (seria legal se o WordPress suportasse um recurso de agrupamento meio que como iPhone O iOS 4 permite agrupar aplicativos em pastas .)

Long List of Gd Star Rating Options
(fonte: mikeschinkel.com )

De qualquer forma, espero que isso ajude.

8
MikeSchinkel

Naturalmente os Plug-ins são apenas uma parte da história de desempenho, portanto, você não pode medir o número de arquivos no final. Há mais e você não pode dizer com antecedência o que funciona, então algo que pode estar bem no seu computador não é nos outros.

Em vez de procurar desempenho, você deve definir outros critérios próprios para tomar decisões. Por exemplo, para plugins você pode preferir colocar funcionalidades separadas em plugins separados, para não misturar coisas. Isso pode não ser um bom desempenho em termos de velocidade ou uso de memória, mas o objetivo é manter as coisas levemente acopladas para facilitar o desenvolvimento e o uso dos plug-ins. Para não esquecer, quando uma nova versão do WordPress é lançada, apenas dois plugins podem sair de dez e não um grande o tempo todo. E, no final, um usuário precisa apenas de três dos dez plugins, então ele precisa de menos memória.

Se um usuário está reclamando sobre o desempenho de seu blog, normalmente você pode sugerir que eles só podem comprar um servidor maior e os problemas de desempenho são resolvidos.

(Otimização prematura é a raiz de todo o mal. Só não pense mais em desempenho ao escrever plugins. Tome-o da maneira leve e brilhante: o WordPress não foi projetado de forma inteligente no final, não cometa o erro e tente gravar plugins de alto desempenho para ele;)

O WordPress é projetado com a Big Ball of Mud- (anti-) design pattern . O sistema de plugins é um que está funcionando muito bem com ele. Só não pense que você pode otimizar tanto quanto um autor de plugins. Você não pode. Não lute contra isso :)

2
hakre

Você pode usar o WordPress com centenas de plugins, quando o design dos plugins é bom - a maioria dos plugins tem um código ruim e esse é o problema do desempenho do WordPress.

0
bueltge

é tudo sobre ter os plug-ins certos. Por exemplo, verifique se seus plug-ins escrevem suas próprias tabelas no banco de dados, o que geralmente atrasa um pouco as coisas. qualquer coisa que carregue muita jquery ou javascript geralmente vai atrasar um pouco também. Grandes quantidades de plug-ins nem sempre significam queda de desempenho. Verifique se você está usando um plug-in de armazenamento em cache que também ajudará.

Eu suponho que você está perguntando isso porque você está experimentando uma desaceleração? Pergunte ao seu Anfitrião se há algo que você possa fazer para acelerá-lo e certifique-se de que sua configuração do php está configurada corretamente.

0
rfair404

Eu normalmente não instalo muitos plugins para o WordPress, em vez disso eu tento usar frameworks de tema que fazem o trabalho principal. É verdade que todos os plugins serão adicionados ao consumo de recursos.

Cada plugin vai fazer alguma coisa, eles têm que inicializar, então eles irão executar algum código quando uma página para o seu site for solicitada, sem mencionar que há tantos links no painel administrativo do WordPress que dificultam o carregamento.

Talvez você não perceba em uma hospedagem compartilhada com 2-3 páginas vistas por dia, mas se você tiver um site com 3k usuários ativos que cada um deles solicite 10 páginas todos os dias, isso pode se tornar um problema.

0
Lucian

Você está olhando para duas coisas que vão abrandar o seu site: 1, o processamento dos arquivos para o (s) servidor (es), o seu php e 2, a maneira como o navegador lê o código.

Se o código estiver desleixado, o navegador duplicará ou triplicará o código antes de apresentá-lo na tela. Se você usar muitos plug-ins com muitas solicitações de banco de dados e/ou servidor, isso pode levar algum tempo e, se não forem feitos corretamente, pode haver conflitos com a solicitação que podem causar tempo extra ou pior, seu site não carrega e/ou mensagens de erro.

rFair404 mencionou programas de cache que irão ajudar com as requisições do servidor e alguns irão comprimir o código html e isso me lembra, eu preciso compactar algumas páginas css.

0
javajoba

Eu diria que a resposta é ambos .


Mais plugins = mais lentidão

Cada plug-in ativado que adiciona uma folha de estilo e/ou arquivo javascript à página está diminuindo drasticamente seu website.

Mesmo os melhores plugins escritos irão atolar o seu site se cada um requer uma folha de estilo e um arquivo javascript para fazer algo no front-end do seu site.

Mesclar seus arquivos

Se você executar um site wordpress, você deve a si mesmo aprender como:

  • Mesclar corretamente arquivos javascript
  • Mesclar corretamente arquivos de folha de estilo
  • Mover chamadas de javascript do cabeçalho para o rodapé

Se você executar um site wordpress e você não pode fazer as coisas acima, então você não deve estar executando um site wordpress ... ou pelo menos você não deve estar reclamando quando o seu site fica mais lento como você carrega mais plugins.

Além disso, qualquer um que esteja executando um site wordpress deve saber como:

  • Minimizar arquivos CSS e javascript
  • Ativar a compactação do servidor
  • Verifique se os cabeçalhos expiram são fornecidos com scripts e folhas de estilo

Plugins mal escritos = mais lentidão

As principais formas de um autor de plug-in realmente tornar seu website mais lento são as seguintes:

  1. Carregando vários scripts ou folhas de estilo para uma única página - veja acima
  2. Usar o banco de dados indevidamente - consultas mal escritas, modificações na consulta, etc. pode ter um impacto sério em um site. Falha ao armazenar os resultados em cache sempre que possível também pode tornar as coisas lentas. A maioria das pessoas é péssima no desenvolvimento e administração de banco de dados. Quando essas pessoas usam bancos de dados, os problemas acontecem.
  3. Usando o wp cron indevidamente - as tarefas cron constantes em cada solicitação do usuário trarão um servidor a seus joelhos.

Curta de escrever código realmente ruim (loops semi-infinitos, toneladas de expressões regulares onde não é necessário, etc.), a maioria das coisas não terá muito efeito quando você considerar como o wordpress grande já está. Adicionar 1% de tempo extra de processamento não é muito.


Tarefas que são inatamente lentas

Há algumas coisas que são lentas, não importa o quão bem escritas:

  1. Usando serviços de terceiros - Sempre que sua resposta a um usuário depende de uma resposta de terceiros, seu site se tornará muito mais lento.

Naturalmente, quando feito corretamente (resultados em cache, como processos em segundo plano, sempre que possível, etc.) muitos serviços de terceiros podem ser usados ​​sem muito problema.

0
Privateer