Nginx的keepalive_timeout和TCP的keepalive

    keep alive,分为HTTP层的Keep-Alive和TCP层的KeepAlive,两者是不同的概念。

    一般的通信过程为:TCP层握手 -> HTTP层请求响应 -> TCP层关闭连接

   TCP层的KeepAlive为TCP层握手结束之后保持连接,其timeout为TCP层握手结束之后能保持多长时间,如果在这个时间范围内客户端没有数据传输,则关闭连接。

   HTTP层的Keep-Alive为HTTP层请求结束之后保持连接,其timeout为HTTP层请求结束之后能保持多少时间,如果在这个时间范围内客户端没有数据传输,则关闭连接。

   Nginx的keepalive_timeout为HTTP层的连接超时时间,为0则表示不启用Keep-Alive,即请求结束之后立刻关闭连接。

  测试Nginx的keepalive_timeout属性。

  1、设置Nginx的keepalive_timeout为20s,日志等级设为debug(需要编译加上debug支持)。

    访问一个连接,见error.log,以下日志都简写,只写明主要部分。

      11:30:10 *** set http keepalive handler

      11:30:10 *** http close request

       ...

      11:30:30 *** http keepalive handler

      11:30:30 *** close http connection

  从日志可以看到,关闭请求20秒之后,关闭了连接。

  2、设置Nginx的keepalive_timeout为0,日志等级设为debug(需要编译加上debug支持)。

   访问一个连接,见error.log,以下日志都简写,只写明主要部分。

    11:35:00 *** http close request

    11:35:00 *** close http connection

  从日志可以看到,关闭请求之后立刻关闭了连接。



  

  


 

      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值