首页  >  问答  >  正文

关于nginx日志中的time_local

想基于nginx日志统计某一接口如秒杀的最大并发数 nginx日志格式是这样配置的

log_format: $remote_addr [$time_local] "$request" $status $upstream_response_time $body_bytes_sent

Nginx官方文档是这样定义time_local

$time_local

local time in the Common Log Format

现在不确定这是请求过来的时间 还是请求处理完毕后记录此条日志的时间 只有是前者才能基于该时间统计最大并发数吧

高洛峰高洛峰2714 天前874

全部回复(1)我来回复

  • 世界只因有你

    世界只因有你2017-05-16 17:14:27

    摘自:http://serverfault.com/questi...

    $local_time 变量包含写入日志条目的时间。

    当读取 HTTP 请求标头时,nginx 会查找关联的虚拟服务器配置。如果找到虚拟服务器,请求将经历六个阶段:

    • 服务器重写阶段

    • 定位阶段

    • 位置重写阶段(可以使请求回到上一阶段)

    • 访问控制阶段

    • try_files 阶段

    • 日志阶段

    由于日志阶段是最后一个阶段,因此 $local_time 变量距离请求结束时间比请求开始时间要近得多。

    回复
    0
  • 取消回复