Eu não acho que você esteja preparado para a questão da otimização. Primeiro você precisa descobrir onde o tempo está indo.
Eu não acho que você está falando sobre o tempo para exibir no seu navegador, então, por enquanto, deixe o seu navegador fora dele. Use ferramentas leves de linha de comando como curl e ab para coletar suas informações de tempo. Usar essas ferramentas em sua área de trabalho ou em um servidor bem conectado diferente daquele que atende a esse site pode ser útil para descartar problemas com seu sistema, rede ou navegador local.
Execute alguns testes usando ab (vem com as ferramentas do apache) ou curve-os, executando-os no seu servidor, para que você esteja atrasando a rede e o cloudflare para fora da imagem. você precisará jogar com as opções para obter uma conexão com seu servidor http local, não para onde o DNS aponta e, ainda assim, usar o cabeçalho Host
correto. Como está o seu atraso agora? Isso deve informar se o problema está no seu servidor da Web ou fora dele. Inclui as vantagens do seu cache nginx, mas não qualquer cache do cloudflare.
Se esse bit no seu servidor for rápido, você estará vendo o cloudflare e a rede. Caso contrário, continue procurando no seu servidor.
Além de observar quanto tempo a solicitação leva da perspectiva do cliente, você também pode modificar seu formato de log nginx para obter mais informações de tempo em seus registros. Eu normalmente uso algo como:
log_format combined '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$request_time" "$msec"';
Deixo esta configuração de registro permanentemente estabelecida para a maioria dos servidores com os quais trabalho, se as circunstâncias permitirem.
Se você ainda estiver vendo seu atraso registrado no campo $request_time
em seus registros, top
ou atop
ou semelhante poderá ajudar a determinar se o tempo está sendo gasto no nginx ou se está aguardando algum outro processo .
Quando você descobre qual tipo de processo tem atraso, é provável que você consiga descobrir o que está acontecendo usando strace
. ltrace
às vezes é útil de forma semelhante e, ocasionalmente, é necessário ir para um perfil completo ou rastrear com informações de tempo usando um depurador, embora isso geralmente seja uma abordagem bastante demorada. Definitivamente comece com strace
.
Espero que você tenha mais algumas perguntas, mas em vez de se concentrar nos detalhes de todas as áreas possíveis que podem ser motivo de preocupação. Que tal tentar o acima e, em seguida, adicionar mais detalhes sobre o que descobriu?