`

tomcat中的 keepAliveTimeout 和maxKeepAliveRequests

 
阅读更多
HTTP 持久连接
持久连接(Keep-Alive)也叫做长连接,它是一种 TCP 的连接方式,连接会被浏览器和服务器所缓存,在下次连接同一服务器时,缓存的连接被重新使用。由于 HTTP 的无状态性,人们也一直很清楚“一次性”的 HTTP 通信。持久连接则减少了创建连接的开销,提高了性能。HTTP/1.1 已经支持长连接,大部分浏览器和服务器也提供了长连接的支持。
可以想象,要想发起长连接,服务器和浏览器必须共同合作才可以。一方面浏览器要保持连接,另一方面服务器也不会断开连接。也就是说要想建立长连接,服务器和浏览器需要进行协商,而如何协商就要靠伟大的 HTTP 协议了

浏览器在请求的头部添加 Connection:Keep-Alive,以此告诉服务器“我支持长连接,你支持的话就和我建立长连接吧”,而倘若服务器的确支持长连接,那么就在响应头部添加“Connection:Keep-Alive”,从而告诉浏览器“我的确也支持,那我们建立长连接吧”。服务器还可以通过 Keep-Alive:timeout=10, max=100 的头部告诉浏览器“我希望 10 秒算超时时间,最长不能超过 100 秒”。
在 Tomcat 里是允许配置长连接的,配置 conf/server.xml 文件,配置 Connector 节点,该节点负责控制浏览器与 Tomcat 的连接,其中与长连接直接相关的有两个属性,它们分别是:keepAliveTimeout,它表示在 Connector 关闭连接前,Connector 为另外一个请求 Keep Alive 所等待的微妙数,默认值和 connectionTimeout 一样;另一个是 maxKeepAliveRequests,它表示 HTTP/1.0 Keep Alive 和 HTTP/1.1 Keep Alive / Pipeline 的最大请求数目,如果设置为 1,将会禁用掉 Keep Alive 和 Pipeline,如果设置为小于 0 的数,Keep Alive 的最大请求数将没有限制。也就是说在 Tomcat 里,默认长连接是打开的,当我们想关闭长连接时,只要将 maxKeepAliveRequests 设置为 1 就可以。


   其中:
keepAliveTimeout:表示在下次请求过来之前,tomcat保持该连接多久。这就是说假如客户端不断有请求过来,且为超过过期时间,则该连接将一直保持。
maxKeepAliveRequests:表示该连接最大支持的请求数。超过该请求数的连接也将被关闭(此时就会返回一个Connection: close头给客户端)。


分享到:
评论

相关推荐

    tomcat中的几点配置说明

    在tomcat配置文件server.xml中的配置中,和连接数相关的参数有: minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10 maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75 ...

    springboot-keepalive设置测试

    springboot keepalive 服务端,客户端测试

    Nginx+Tomcat负载均衡

    首先大家注意: 本文章中没有session共享,关于session共享我会在下一篇中讲解,先实现Nginx+tomcat负载均衡再实现session共享。 从网上查了好多资料,多走了很多弯路,现在把自己成功的方法拿出来与大家分享。 ...

    keepalived+redis+tomcat+tomcat集群

    Keepalived+redis+nginx+tomcat7 实现的集群所需要的包、配置、脚本等。 .......................................................................................................................................

    keepalive安装包和文档

    keepalive是一款可以实现高可靠的软件,通常部署在2台服务器上,分为一主一备。Keepalived可以对本机上的进程进行检测,一旦Master检测出某个进程出现问题,将自己切换成Backup状态,然后通知另外一个节点切换成...

    httpd-2.4.28

    It is now possible to specify KeepAliveTimeout in milliseconds. NameVirtualHost directive No longer needed and is now deprecated. Override Configuration The new AllowOverrideList directive allows more...

    keepalive中文文档

    keepalive的中文文档,可用来学习或者开发使用,pdf格式的保证好用

    apache性能调优配置

    一旦连接上,不断点击同一个页面上不同的链接,都能迅速打开,这种现象就是说明apache最大连接数已经满了,新的访客只能排队等待有空闲的链 接,而如果一旦连接上,在keeyalive 的存活时间内(KeepAliveTimeout,...

    apahce2.2.4整合tomcat6.0.016

    wk.ajp13.socket_keepalive=1 wk.ajp13.socket_timeout=300 conf/httpd.conf #虚拟主机 # Virtual hosts Include conf/extra/httpd-vhosts.conf #TOMCAT整合开始 LoadModule jk_module modules/mod_jk-apache-...

    MySQL MHA KEEPALIVE最佳部署指南

    MySQL MHA KEEPALIVE最佳部署指南

    Centos6.5安装keepalive

    Centos6.5安装keepalive步骤

    KEEPALIVE安装配置手册

    KEEPALIVE安装配置手册 REDIS集群配置 各种算法分析

    keepalive1.1.17.zip

    mysql主主复制+keepalive 这是keepalive1.1.17.tar.gz

    判定断开前的KeepAlive探测次数

    判定断开前的KeepAlive探测次数舒服点

    cognos report 优化

    1.3 KeepAliveTimeout 2 APPLICATION SERVER(ReportNet自带tomcat)配置文件修改 2.1 maxProcessors 2.2 AcceptCount 2.3 ConnectionTimeout 2.4 session-timeout 3 Cognos ReportNet配置文件修改 3.1 ...

    mysql mha keepalive vip安装配置.docx

    mysql mha keepalive vip安装配置.docx

    Nginx和Keepalive

    详细阐述了高可用的负责均衡策略,及实用步骤

    TCP Keepalive和HTTP keepalive是一个东西吗 617 - 629

    TCP Keepalive和HTTP keepalive是一个东西吗 617 - 629

    keepalive、pipeline数据包

    keepalive、pipeline。 一个包里包含了2个请求的请求响应包。 服务端用的是Nginx 1.9.12。

    nginx+keepalive

    nginx+keepalive

Global site tag (gtag.js) - Google Analytics