Elementos PHP vs. Não PHP
Se você comparar os tempos de carregamento de ativos que não são PHP com os tempos de carregamento baseados em PHP, verá que o servidor responde rapidamente se o PHP não estiver envolvido.
Isso normalmente indica problemas internos ao seu script PHP.
O problema pode estar na camada PHP ou no banco de dados. O uso de ferramentas avançadas de depuração, como o XDebug ou o NewRelic, pode ajudá-lo a identificar rapidamente o gargalo.
Problemas de tempo para o primeiro byte podem ser causados por restrições de hardware, configuração incorreta ou código ineficiente. Na hospedagem compartilhada, as restrições de hardware e a má configuração são mais prováveis.
De qualquer forma, resolver o problema geralmente significa um ou todos:
- Mais hardware
- Melhor programação
- Adicionar cache
Um hardware mais rápido é uma solução óbvia, mas geralmente cara, se você já possui recursos dedicados.
Uma programação melhor pode não ser possível se o problema for interno do código que você não mantém ou não possui recursos do desenvolvedor.
O armazenamento em cache ajuda a reduzir o número de solicitações que devem atingir os recursos subjacentes e com baixo desempenho.
Teste
Ao usar ferramentas de teste, certifique-se de executar várias execuções. Os picos de rede e de servidor temporários podem facilmente levá-lo ao caminho errado, portanto, você deve tentar calculá-los.
Hospedagem
Se você estiver em uma conta de hospedagem compartilhada, considere migrar para serviços do tipo nuvem ou VPS para ter uma melhor visão dos problemas de desempenho. A menos que você use uma técnica de cache (serviço do tipo CDN ou Cloudflare), a correção de problemas de desempenho em sistemas de hospedagem compartilhada em massa pode ser muito desafiadora, pois você não tem controle suficiente do servidor.