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, são úteis ferramentas como PageSpeed e YSlow (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
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 o OpCache ou o 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.
Atualizar versão do PHP
A versão mais recente do PHP vem regularmente com melhorias de desempenho. Além disso, existem vários casos em que o Joomla pode usar um código melhor ao executar em uma versão mais recente do PHP. Hoje, você não deve usar uma versão PHP anterior ao PHP 5.4 se se preocupa com o desempenho.
Configurações do PHP
Nas versões mais antigas do PHP (<= 5.3), tenha o cuidado de desligar register_globals
e magic_quotes_gpc
obter uma vitória gratuita no desempenho. No PHP> = 5.6, mude always_populate_raw_post_data
para -1.
Extensões PHP
O Joomla contém algum código para solucionar as extensões PHP ausentes. Isso sempre será mais lento que essas extensões. Para uma melhoria de desempenho decente instalar as seguintes extensões: mbstring
, zip
,ftp
Servidor web
Ativar gzip
A ativação da compactação do lado do servidor comercializa a largura de banda dos 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 se você deixar o servidor lidar com isso.
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 o Zopfli para arquivos ainda menores.
Use FastCGI para PHP
Mais especificamente, você deve usar php-fpm
. Isso impede a inicialização do PHP quando o navegador solicita um arquivo não PHP.
Use cabeçalhos de cache apropriados
O uso do Expires
cabeçalho pode reduzir bastante os recursos do 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:
Desativar AllowOverride
A configuração AllowOverride
para None
evita muitas E / S de disco e
Joomla
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.
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.
Desativar Preparar conteúdo
Se você usa muitos módulos personalizados ( mod_custom
não personalizados como escritos por si), verifique se é possível desativar o Preparar conteúdo nesses. Isso economiza algum processamento.
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.
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 do que armazenar todos os dados no banco de dados
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
Definir um favicon
Graças a uma decisão que remonta ao Internet Explorer 4.0, 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
.
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 o ImageOptim, 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 o Varnish 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 tirará proveito de funcionalidades avançadas como o Edge Side Inclui (ESI), mas seu próprio código poderia.