nginx代理过程中涉及到的时间问题

在nginx做反向代理时涉及到ngx_http_upstream_module模块中的变量介绍

 

 

1、nginx内的时间定义

1.1 request_time 

单位为秒

指的就是从接收用户请求的第一个字节到发送完响应数据的时间,即$request_time 包括接收客户端请求数据的时间、后端程序响应的时间、发送响应数据给客户端的时间

1.2 upstream_response_time

单位为秒

是指从Nginx向后端建立连接开始到接收完数据然后断开连接为止的时间

1.3 upstream_connect_time

单位为秒

nginx跟后端建立连接的时间,如果是到后端使用了加密协议,该时间包括握手的时间

1.4 upstream_header_time

单位为秒

接收后端server响应头部的时间

 

设置代理超时时间 nginx使用proxy模块时,默认的读取超时时间是60s

location / { 
    proxy_connect_timeout       120;  #后端服务器连接的超时时间_发起握手等候响应超时时间
    proxy_send_timeout          120;  #后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据 
    proxy_read_timeout          120;  #连接成功后等候后端服务器响应时间其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)

    client_header_timeout       60s;  #指定等待client发送一个请求头的超时时间(例如:GET / HTTP/1.1).仅当在一次read中,没有收到请求头,才会算成超时
    client_body_timeout         60s;  #该指令设置请求体(request body)的读超时时间。仅当在一次readstep中,没有得到请求体,就会设为超时
    keepalive_timeout           60s;  #第一个参数指定了与client的keep-alive连接超时时间。服务器将会在这个时间后关闭连接。

    resolver_timeout            30s;  #该指令设置DNS解析超时时间
    send_timeout                120;
}

  

posted @ 2021-11-02 17:14  在半空頫視地球╰☆╮  阅读(952)  评论(0)    收藏  举报