整体思路
在nginx配置接收请求时间,同时打印出请求时间、上游处理时间。然后在前端将业务操作的时间放在request header里面,并且将其打印在nginx的日志中。将用户操作的时间,接到请求的时间和处理完的时间一比较自然就清楚地知道,是哪个地方出了问题,包括网络、程序是否有问题。
1、配置格式
在http配置
这里配置打印的格式,
请求时长: rt=$request_time ,
上游处理时长:urt=$upstream_response_time ,
自定义request head: mt=$http_myrequestdate';
这里要特别注意:前面要加上http_,要不然会报变量找不到。
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'
'rt=$request_time urt=$upstream_response