“O tempo de resposta do servidor mede quanto tempo ele leva para carregar o HTML necessário para começar a processar a página de seu servidor, subtraindo o tempo de latência de rede entre o Google e seu servidor.” - Google
De acordo com o Google, o tempo de resposta aceitável deveria ser de 200 milisegundos ou menos.
É real que o frontend normalmente não tem poder para resolver esta situação uma vez que depende de infraestrutura da empresa que está hospedando o site. Se está num servidor compartilhado ou dedicado, a quantidade e velocidade de disco e memória RAM disponíveis, utilização de um serviço de CDN para cachear arquivos, enfim…
Porém, nós temos que ficar sempre alertas porque todo o trabalho de minificar css/js/imagens, usar gzip, diminuir requests, otimizar o bundle, remover CSS e JS blocantes, carregar arquivos de maneira assíncrona, atrasar a execução de scripts não tão importantes - e por aí vai -, pode ir pro lixo uma vez que o TTFB está muito alto e causando má impressão no usuário que acessa sua página. E além disso, o TTFB é uma das métricas levadas em consideração pelo Google para rankeamento.
Três ações podem impactar:
O envio da requisição pela máquina do cliente ao servidor;
Performance do DNS lookup, velocidade da internet do usuário, distância do servidor ou interrupções na conexão.
O processamento do servidor e geração da resposta e;
Processamento de scripts(uso de disco e memória RAM), chamadas a base de dados e comunicação com outros sistemas.
O envio da resposta do servidor ao cliente.
Autoexplicativo.
Você pode utilizar alguma das inúmeras ferramentas de performance disponiveis na web, sendo que aconselho o Webpagetest e o console do Google Chrome, você pode aprender o processo clicando aqui e acessando o tutorial do Google.
A Cloudfare diz ter realizado testes extensivos utilizando nginx enquanto investigava sobre TTFB e uma diferença significante foi notada quando a compressão é ou não ativada. O gzip reduz o tempo de download das páginas porém tem um custo, aumenta o TTFB. Isso acontece porque o nginx espera até que a compressão tenha iniciado antes de enviar os cabeçalhos HTTP e quando a compressão está desabilitada envia de uma vez.
_[TTFB]: Time to First Byte _[DNS lookup]: Processo de encontrar o endereço IP de qualquer url na internet