Resposta lenta do servidor web Apache antes de servir documentos, css, imagens

Resposta lenta do servidor web Apache antes de servir documentos, css, imagens

Eu tenho um site que roda WordPress (PHP e MySQL). Um site responde muito lentamente às solicitações.

Ao examinar um inspetor da web no Safari, o problema não parece ser o tamanho dos arquivos.

http://img.skitch.com/20100127-1yjnf586wdr3tx4akk8fj5qwhx.png

Demora 5 segundos antes de servir o conteúdo. Quais são as medidas que posso tomar? Sou novo na administração de servidores e este é apenas um servidor compartilhado. Não tenho controle total, mas pode valer a pena tentar otimizar.

Eu tentei traceroutee pingcomandos, mas os comandos funcionam sem problemas.

Responder1

Você realmente precisa ter direitos de administrador para executar qualquer tipo de solução de problemas real no servidor.

No entanto, se você quiser descobrir se a culpa é do seu código ou do servidor (eh), existem algumas etapas que você pode seguir. Uma delas é adicionar um cronômetro ao seu código php para ver quanto tempo leva para ser executado no servidor. Deaqui:

<!-- put this at the top of the page --> 

<?php 
  $mtime = microtime(); 
  $mtime = explode(' ', $mtime); 
  $mtime = $mtime[1] + $mtime[0]; 
  $starttime = $mtime; 
?> 

<!-- put other code and html in here --> 

<!-- put this code at the bottom of the page --> 
<?php 
  $mtime = microtime(); 
  $mtime = explode(" ", $mtime); 
  $mtime = $mtime[1] + $mtime[0]; 
  $endtime = $mtime; 
  $totaltime = ($endtime - $starttime); 
  echo 'This page was created in ' .$totaltime. ' seconds.'; 
?>

Usando isso, você pode ver se o servidor está realmente lento ou se está no final da conexão.

Se o servidor estiver lento, há uma série de etapas a serem executadas, mas você precisa de direitos de administrador para prosseguir, especialmente porque está usando o wordpress, que está em centenas de milhares de servidores em todo o mundo e é bastante otimizado.

Mais uma coisa a tentar é desabilitar os plugins e habilitá-los um por um para ver se algum está causando sua lentidão.

Responder2

Provavelmente não tem nada a ver com o tamanho dos arquivos. Se você estiver executando o wordpress, seus backlogs serão banco de dados e processador. Banco de dados para recuperar todas as informações sobre a aparência da página, o conteúdo, etc. E processador para compilar tudo isso em um documento real e enviá-lo.

Talvez você queira ajustar as configurações de cache do Apache. Se certas páginas são solicitadas com frequência, não faz sentido construí-las continuamente.

Responder3

Tente usar o Firefox e instale um plugin chamado Firebug (http://getfirebug.com/). Depois de configurado, ative o painel 'net' e recarregue suas páginas. Isso mostrará quanto tempo leva para cada parte da resposta do servidor, incluindo velocidades iniciais de conexão, tempo de download, atraso de resposta do servidor, etc. Você também pode usar este painel para ver se está armazenando em cache itens como JavaScript, imagens e CSS.

Como você está em uma hospedagem compartilhada, terá MUITO pouco controle sobre a configuração do servidor, mas poderá acelerar as coisas de outras maneiras, prestando muita atenção ao que está solicitando ao servidor.

Obrigada! E acostume-se a usar o Firebug, é um salva-vidas.

Uma última coisa: certifique-se de usar a versão mais atualizada possível do wordpress e não use muitos plug-ins. Cada sobrecarga vai desacelerar sua carga.

Responder4

Wordpress, como muitos CMS por aí, é conhecido por ser bastante pesado, não estou surpreso que um servidor compartilhado ofereça atrasos como esse para servir o primeiro byte.

A primeira coisa a fazer é garantir que você tenha um cache de opcode disponível (php-apc é o "padrão"), sem um o Wordpress irá gerar a página inicial cada vez que um novo usuário a solicitar. Se o apc estiver instalado no servidor e você tiver uma maneira de configurá-lo, você pode tentar esta configuração primeiro:

apc.enabled=1
apc.shm_size=64
apc.max_file_size=3M
apc.ttl=7200
apc.user_ttl=7200
apc.stat_ctime=1

Então dê uma olhada nas estatísticas fornecidas pelo script apc.php incluído no pacote, ele irá ajudá-lo a definiresses valoresmais adequadamente.

A segunda coisa que farei é usar um plugin de cache para Wordpress como este:http://wordpress.org/extend/plugins/w3-total-cache/

Ele renderizará o conteúdo na primeira solicitação e, em seguida, servirá conteúdo estático sempre que possível.

informação relacionada