
Estou lendo alguns logs do nginx para algumas solicitações bastante demoradas (até 10 segundos). No formato de log, estamos usando a $time_local
variável para registrar o tempo. Mas isso significa o momento em que a solicitaçãoiniciadoou quandofinalizado? Para uma solicitação de longa duração, estes são tempos bem distintos e não consigo encontrar nada noDocumentação ngx_http_log_modulepara explicar isso.
Responder1
A $time_local
variável contém a hora em que a entrada de log foi gravada.
quando o cabeçalho da solicitação HTTP é lido, o nginx faz uma pesquisa na configuração do servidor virtual associado. Se o servidor virtual for encontrado, a solicitação passa por seis fases:
- fase de reescrita do servidor
- fase de localização
- fase de reescrita de localização (que pode trazer a solicitação de volta à fase anterior)
- fase de controle de acesso
- fase try_files
- fase de registro
Como a fase de log é a última, $time_local
a variável fica muito mais próxima do final da solicitação do que do início.