Was bedeutet speziell die Protokollierungsvariable $ time_local von nginx?


7

Ich lese einige Nginx-Protokolle für einige ziemlich lang anhaltende Anfragen (bis zu 10 Sekunden). Im Protokollformat verwenden wir die $time_localVariable, um die Zeit aufzuzeichnen. Aber bedeutet dies die Zeit, zu der die Anfrage gestartet oder beendet wurde ? Bei einer lang laufenden Anfrage sind dies sehr unterschiedliche Zeiten, und ich kann in der Dokumentation zu ngx_http_log_module nichts finden , um dies zu erklären.

Antworten:


11

Die $time_localVariable enthält die Zeit, zu der der Protokolleintrag geschrieben wird.

Wenn der HTTP-Anforderungsheader gelesen wird, sucht nginx nach der zugehörigen Konfiguration des virtuellen Servers. Wenn der virtuelle Server gefunden wird, durchläuft die Anforderung sechs Phasen:

  • Server-Rewrite-Phase
  • Standortphase
  • Phase zum Umschreiben des Standorts (wodurch die Anforderung zur vorherigen Phase zurückgeführt werden kann)
  • Zugangskontrollphase
  • try_files Phase
  • Log-Phase

Da die Protokollphase die letzte ist, ist die $time_localVariable bis zum Ende der Anforderung viel intensiver als bis zum Start.


danke .. kannst du mir zeigen, wo ich das in der Dokumentation hätte finden können?
Philip Potter

2
nginx.com/docs.html Die Informationen befinden sich unter dem Link "Die Architektur von Open Source-Anwendungen, Band II", der ein gutes Nachschlagewerk ist.
m0ntassar

Sieht so aus, als hätten sie die URL geändert. Es ist jetzt unter nginx.org/en/docs mit dem Nachschlagewerk unter aosabook.org/en/nginx.html .
trss
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.