ti-enxame.com

Como melhorar o tempo de resposta do servidor?

O que posso fazer, além de usar um plug-in de cache como o jotcache, para melhorar o tempo de resposta do servidor do meu site?

Eu já removi todos os módulos, plugins e componentes de artigos inativos. Há algo mais que eu possa fazer para melhorá-lo?

Estou falando do tempo antes do cliente (navegador) obter uma resposta à sua solicitação. E não o tempo que a página carrega.

17
web-tiki

Existem várias etapas que você pode executar para aumentar o desempenho do servidor. Observe que alguns deles não funcionarão com a maioria dos hosts compartilhados. Para um ótimo desempenho, você geralmente precisa de um controle mais refinado.

Como em qualquer otimização, você deve medir o efeito que isso tem no desempenho do seu site. Para otimizações básicas, ferramentas como PageSpeed e YSlow útil (eu recomendo as versões do Firefox). Para um entendimento mais aprofundado, você terá que medir os tempos de resposta reais do seu sistema ativo durante um período de tempo.

PHP

  1. Ativar cache de código de código

    Essa é provavelmente a maior coisa que você pode fazer para aumentar o desempenho do seu site. Eu recomendo usar OpCache ou APC . A configuração desses caches pode ser aprimorada para obter um desempenho ainda maior com base nas necessidades específicas dos servidores e sites, mas apenas a instalação já é um grande impulso.

  2. Atualização PHP versão

    Mais recente PHP vem regularmente com melhorias de desempenho. Além disso, há vários casos em que o Joomla pode usar um código melhor ao executar uma versão mais recente PHP.) hoje você não deve usar uma versão PHP versão anterior a PHP 5.4 se você se preocupa com o desempenho.

  3. Configurações do PHP

    Nas versões anteriores do PHP (<= 5.3), desative o register_globals E magic_quotes_gpc Para obter uma vitória gratuita no desempenho. On PHP> = 5,6 altere always_populate_raw_post_data Para -1.

  4. Extensões PHP

    O Joomla contém algum código para solução alternativa ausente PHP extensões. Isso sempre será mais lento que essas extensões. Para uma melhoria de desempenho decente, instale as seguintes extensões: mbstring, Zip, ftp

Servidor web

  1. Ativar gzip

    A ativação da compactação do lado do servidor comercializa largura de banda para recursos da CPU. Para a maioria dos sites, esta é a decisão certa. Tenha cuidado para compactar apenas dados de texto; a compactação de dados binários fornecerá a CPU atingida sem as vantagens da largura de banda. Você também pode ativar a compactação nas configurações do Joomla, mas é melhor deixar o servidor lidar com isso.

  2. Pré-compactar recursos estáticos

    Não estou falando de minficação (embora isso ajude também), mas você pode configurar o Nginx e o Apache para o servidor já compactar recursos, eliminando efetivamente a ocorrência de CPU na compactação gzip. Pontos de bônus: Use Zopfli para arquivos ainda menores.

  3. Use FastCGI para PHP

    Mais especificamente, você deve usar php-fpm. Isso impede a inicialização PHP quando o navegador solicita um arquivo não PHP).

  4. Use cabeçalhos de cache apropriados

    O uso do cabeçalho Expires pode reduzir bastante os recursos de servidor necessários. Afinal, o pedido mais rápido nunca foi feito.

Apache

Geralmente eu recomendo usar o Nginx para sites de alto desempenho. Se você realmente precisa usar o Apache por algum motivo, recebi uma dica bônus:

  1. Desativar AllowOverride

    Definir AllowOverride como None evita muito disco IO e

Joomla

  1. Não use o modo FTP

    Embora isso não afete os usuários que leem o site, isso atrasará algumas operações, como a instalação de extensões.

  2. Desativar extensões não utilizadas

    Isso vale especialmente para Plugins, muitos deles são executados em todas as solicitações. Desabilitar menus e componentes é útil principalmente ao listar extensões e tipos de menu disponíveis. Também tome 5 minutos para percorrer as extensões que acompanham o núcleo do Joomla e desativar as que você não usa.

  3. Desativar Preparar conteúdo

    Se você usa muitos módulos personalizados (mod_custom Não é personalizado, como está escrito por si mesmo), verifique se você pode desativar o Preparar conteúdo nesses. Isso economiza algum processamento.

  4. Usar cache

    Se você é sério sobre desempenho, habilite o cache. Especialmente útil para ler sites pesados ​​com muitos usuários anônimos. Os usuários conectados ignoram a maior parte do cache, se você tiver muitos deles, o efeito não será tão grande.

  5. Use um manipulador de sessão alternativo

    Usando um manipulador de sessão alternativo, você pode liberar seu banco de dados para coisas mais importantes. Eu não recomendaria o arquivo (confundidamente chamado None nas configurações do Joomla), pois isso trará mais uma vez aumento de E/S de disco. O uso da APC é potencialmente o fastet, mas aumenta o risco de perder todos os dados da sessão. O meio termo certo é Memcache. Embora isso exija um processo adicional, é mais confiável que o APC e muito mais rápido que armazenar todos os dados no banco de dados

  6. Mantenha seu site simples

    Você realmente precisa desse botão do Facebook? E o ícone fofo que ninguém vê porque está parcialmente escondido atrás de algum banner? Quanto menos seu site for exibido, mais rápido será. Além disso, sempre que possível, use CSS3 em vez de imagens.

Diversos

  1. Definir um favicon

    Agradecemos a decisão que remonta ao Internet Explorer 4. os navegadores solicitam um arquivo chamado favicon.ico Sempre que um usuário visita seu site. Se você não tiver um, isso causa E/S desnecessárias, pois as respostas 404 não são armazenadas em cache. Especifique o ícone do seu site com uma meta tag HTML ou adicione um arquivo chamado favicon.ico À raiz da web. Não quer um favicon? Coloque um PNG transparente com um tamanho de 1x1 pixel nesse local. Observe que a extensão ainda precisa ser .ico.

  2. Otimize suas imagens

    É incrível o tipo de economia que se pode obter otimizando imagens, especialmente arquivos PNG. Há uma variedade de ferramentas disponíveis para qualquer sistema operacional, pessoalmente eu uso ImageOptim , que está disponível para o OS X. As imagens principais do Joomla já estão otimizadas, mas passam por suas próprias imagens, especialmente os modelos são importantes. Você também pode verificar as extensões que está usando. Se eles são de código aberto, por que você não contribui com uma solicitação de recebimento contendo imagens recém-otimizadas?

O avançado

Se você realmente quer dar tudo de si, considere colocar Verniz na frente do seu site. Ele armazena em cache os pedidos no seu site e, se possível, os serve a partir de seu próprio cache, nunca atingindo o Joomla. É uma ferramenta complexa, mas com muito poder. O Joomla não tira proveito de funcionalidades avançadas como o Edge Side Inclui (ESI), mas seu próprio código poderia.

25
Rouven Weßling

Uma GRANDE coisa que você pode fazer para melhorar o tempo de resposta do seu site é atualizar as configurações do módulo. Módulos personalizados (usando mod_custom) têm uma opção para ativar/desativar a preparação do conteúdo. Isso permite que você execute plug-ins de conteúdo no conteúdo de dados em seu módulo personalizado. É poderoso quando usado corretamente, mas adiciona tempo de renderização adicional à saída do módulo. A menos que você esteja realmente usando um plug-in de conteúdo no conteúdo de seu módulo personalizado, é melhor desativá-lo. Você verá uma diminuição no tempo de renderização do módulo ao fazer isso.

Captura de tela da configuração: enter image description here

Nota: Se minha resposta o ajudou, clique na verificação à esquerda para aceitar a resposta.

13
Don Gilbert

Suponho que você gerenciou seu site com a velocidade da página do Google e está realmente procurando reduzir o tempo de resposta da página, ou seja, o tempo gasto pela sua marcação para ser enviado ao navegador.

Os culpados mais prováveis ​​para isso são consultas pesadas. Ative a depuração e olhe na parte inferior da página para descobrir quais são as consultas mais pesadas e remova ou reduza-as. Você também pode obter ajuda dos logs de consultas lentas do seu servidor MySQL.

A próxima coisa que você pode ver é o cache. Dependendo do tipo de site que você possui, é possível ativar o cache conservador ou progressivo. Progressivo deve ser usado em sites que não possuem recursos relacionados ao usuário.

8
Ashwin Date

As coisas que sei que podem ajudar (a maioria das quais foram listadas) são:

  1. Armazenamento em cache
  2. Compactação (gzip seus arquivos css e js)
  3. Combinando arquivos (todo o seu css é combinado em um arquivo)
  4. Descarregando imagens e arquivos em uma CDN.

Eu usei uma combinação do cache interno do Joomla (ou mesmo do APC ativado no servidor) e plugins como o gzip ou o plug-in rockbooster do tema do foguete. Eu também uso um plug-in CDN não-numerado com uma conta da Amazon.

Definitivamente ajuda, mas você precisa assistir ao seu site e desativar o cache para componentes com problemas. Eu tive que ignorar o CiviCRM em nosso site porque não era agradável com o cache. O Joomla vem com um plugin cachecontrol que pode lidar com isso.

6
Brian Peat

Você também deve procurar reduzir os ativos locais e o cache adequado. Uma coisa que você pode fazer é usar os plugins da CDN. Aqui estão dois que eu recomendaria:

'corePHP' jomCDN - https://www.corephp.com/joomla-products/jomcdn

CDN NoNumbers Para Joomla! - http://www.nonumber.nl/extensions/cdnforjoomla

Além disso, se nenhuma das opções acima parecer resolver os problemas, você poderá ter um problema mais profundo - possivelmente no seu modelo, no próprio servidor ou em outras coisas. Se for esse o caso, talvez seja melhor contratar alguém para procurar o problema e resolvê-lo por você.

4
Steven Pignataro

Você também pode usar esse código no seu arquivo .htaccess:

RewriteEngine On
RewriteCond %{HTTP_Host}  ^www.your domain [nocase]
RewriteRule ^(.*)         http://your domain/$1 [last,redirect=301]
RewriteEngine on
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript text/javascript
</ifmodule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
3
معاملات فصلی

Eu criei mais de centenas de sites usando o Joomla!

Na maioria dos casos, as pessoas pensam que o Joomla está trabalhando pesadamente no servidor, mas, de acordo com as análises feitas por mim, a coisa mais importante para manter seu site RÁPIDO é OTIMIZAR AS IMAGENS e JS/CSS.

Não use editores do Joomla, como o JCE, apenas para alterar o tamanho da imagem. Use editores de imagem como o photoshop ou qualquer outro editor para redimensionar suas imagens para o tamanho necessário!

Use ferramentas de compactação JS/CSS.

Sempre usamos as Ferramentas Pingdom para analisar a velocidade do site e usamos o recurso incorporado do T3 Framework para otimizar JS/CSS!

2
Gev Balyan

Você removeu plugins não utilizados? O Joomla precisa carregar e processar todos os plugins publicados para eventos acionados em uma solicitação.

Você precisa entender as extensões que instalou e como elas interagem com o Joomla!

Muitas extensões instalam plug-ins que gerenciam conteúdo, sistema ou atividades do usuário para iniciar funções de código. Alguns deles podem ser supérfluos.

Eu sei que o k2 instala muitos plugins que respondem a eventos relacionados ao idioma que não produzem saída real para sites de idioma único. Cancelar a publicação desses plug-ins pode reduzir o tempo de processamento.

1
Joomsavvy

Melhore os recursos do plano de hospedagem/servidor

Talvez não seja a resposta que o OP estava procurando, mas vale a pena mencionar, caso não seja óbvio para todos (e nenhuma outra resposta tenha mencionado isso ainda): melhore os recursos do servidor, como memória, CPU e velocidade do disco.

Se você estiver usando hospedagem compartilhada na Web, a atualização do plano "econômico" para o plano "comercial" ou outro plano mais avançado pode melhorar os recursos do servidor disponíveis no seu site e reduzir o tempo de resposta do servidor. Mudar para uma empresa de hospedagem de melhor qualidade (por exemplo, com servidores de hospedagem compartilhada menos lotados) também pode ajudar.

Um plano de hospedagem melhor também pode fornecer acesso a aprimoramentos de desempenho que não estão incluídos no plano de hospedagem básico. Por exemplo, os planos de hospedagem "GrowBig" e "GoGeek" SiteGround incluem cache dinâmico, o que ajuda a reduzir significativamente o tempo de resposta do servidor. A opção de cache dinâmico não está disponível no plano "Inicialização".

1
Neil Robertson