`
liuhaixiao
  • 浏览: 143629 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Keep-Alive简介及在Tomcat中配置

 
阅读更多

Keep-Alive简介及在Tomcat中配置

引用:http://www.someabcd.com/simple/?t3759.html 

 

Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。市场上 的大部分Web服务器,包括iPlanet、IIS和Apache,都支持HTTP Keep-Alive。对于提供静态内容的网站来说,这个功能通常很有用。但是,对于负担较重的网站来说,这里存在另外一个问题:虽然为客户保留打开的连 接有一定的好处,但它同样影响了性能,因为在处理暂停期间,本来可以释放的资源仍旧被占用。当Web服务器和应用服务器在同一台机器上运行时,Keep-Alive功能对资源利用的影响尤其突出。 此功能为HTTP 1.1预设的功能,HTTP 1.0加上Keep-Alive header也可以提供HTTP的持续作用功能。
Keep-Alive: timeout=5, max=100
timeout:过期时间5秒(对应httpd.conf里的参数是:KeepAliveTimeout),max是最多一百次请求,强制断掉连接
就是在timeout时间内又有新的连接过来,同时max会自动减1,直到为0,强制断掉。
Tomcat中的相关设置,在server.xml 中的Connector 元素中。
keepAliveTimeout:
此时间过后连接就close了,单位是milliseconds 
maxKeepAliveRequests:

最大长连接个数(1表示禁用,-1表示不限制个数,默认100个。一般设置在100~200之间).


maxKeepAliveRequests="1"就可以避免tomcat产生大量的TIME_WAIT连接,从而从一定程度上避免tomcat假死。

 
 测试部分,是我自己总结的。
可以采用apache 的 httpClient 库来测试。思路是 把httpClient httpGet 存放到静态变量里面,在主进程中启动三个线程,间隔30秒,用静态的httpClient httpGet 向tomcat服务器get数据.用netstat 查看网络连接情况,发现三次请求是一连接。
具体代码:
后继贴出。
 
 
 
标签: http长连接
分享到:
评论

相关推荐

    vue中keep-alive,include的缓存问题

    主要介绍了vue中keep-alive,include的缓存问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    利用Keep-Alive处理Socket网络异常断开的方法

    今天讲一下网络方面的知识,希望对你的学习提供很好的帮助。

    umi-plugin-keep-alive:用于基于React激活的umijs

    umi-plugin-keep-alive 中文说明 | 此 <KeepAlive> 功能基于 在线示例 umi 多 tabs 示例: 使用方法 安装 npm install umi-plugin-keep-alive --save # or yarn add umi-plugin-keep-alive 从 umi 中导出 KeepAlive...

    keep-alive的介绍及使用

    如果需要频繁切换路由,这个时候就可以考虑用keep-alive了,来达到避免数据的重复请求的目的 keep-alive用来缓存组件,避免多次加载相应的组件,减少性能消耗。 简单一点来说就是从页面A链接到其他页面后回退到页面A...

    vue中keep-alive的用法及问题描述

    在做电商有关的项目中,当我们第一次进入列表页需要请求一下数据,当我从列表页进入详情页,详情页不缓存也需要请求下数据,然后返回列表页,这时候我们使用keep-alive来缓存组件,防止二次渲染,这样会大大的节省...

    vue组件 keep-alive 和 transition 使用详解

    1.keep-alive 能在组件切换过程中将状态保留在内存中,防止重复渲染DOM。 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。和 相似, 是一个抽象组件:它自身不会渲染一个 DOM 元素,也不会出现在父组件...

    vue中keep-alive内置组件缓存的实例代码

    将要缓存的组件使用 keep-alive 包裹住即可。 keep-alive优点的介绍: 1. 切换组件时,当前组件不会触发销毁的生命周期钩子。也就是说不会销毁了。 2. 切换回来时,也不会重新创建。(既然都没有被销毁,哪里来的...

    vue使用keep-alive切换页面,2种方法实现页面保持滚动位置.zip

    vue使用keep-alive切换页面,2种方法实现页面保持滚动位置 下载后 先 npm i 安装依赖

    Nextjs-keep-alive-demo.rar

    Nextjs-keep-alive 实现,vue中有这个专门的keep-alive插件,但是react没有,更别提nextjs了,这是现成的项目demo。 next9,10,11,12,13,14 及以上都可以用。直接使用或者移植到你的项目,非常方便。集成了发送...

    彻底揭秘keep-alive原理(小结)

    一、前言 ...keep-alive是一个抽象组件:它自身不会渲染一个 DOM 元素,也不会出现在父组件链中;使用keep-alive包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。 2.2 一个场景 用户在某

    keep-alive-chain:Vue前进刷新,后退不刷新(Forward refresh, back not refresh)

    v-keep-alive-chain vue缓存链控制,Vue前进刷新,后退不刷新(Forward refresh, back not refresh) Installation Use $ npm install v-keep-alive-chain // main.js import { mergeBeforeEachHook, ...

    keep-alive保持组件状态的方法

    keep-alive的设计初衷 有些业务场景需要根据不同的判断条件,动态地在多个组件之间切换。频繁的组件切换会导致组件反复渲染,如果组件包含有大量的逻辑和dom节点,极易造成性能问题。其次,切换后组件的状态也会完全...

    keep-alive不能缓存多层级路由菜单问题解决

    目前keep-alive可以有效缓存一级,二级的路由菜单,3级以上菜单并不能做到缓存,这里提供一个解决方案: 在cachedViews中手动加上一级菜单和三级菜单之间,缺失的二级菜单的名字,这样二级菜单下的组件就会缓存了 ...

    all-keep-alive:一个后台管理的tabs页面例子,打开的tabs页会有缓存,关闭之后清除缓存。包含同一个组件的多次复用的tabs

    all-keep-alive Features 一个升级版的keep-alive,可以用来缓存所有的页面,包括复用页面。 可以在实现一些多标签页面,打开标签需要缓存页面数据的场景下使用 install npm install all-keep-alive 使用 import { ...

    vue-router-keep-alive-helper:Vue.js缓存自动管理插件,自动创建、销毁缓存页面

    Vue路由器保持活动帮助器 Vue Router Keep-alive Helper是用于管理Vue.js项目中的缓存页面的自动工具,只能使用一行配置代码。 English |为什么需要此帮手: 当使用vue-router开发Vue.js的SPA项目时, <keep>总是...

    react-keep-alive:保持组件状态并避免重复渲染的组件

    React保持活力 保持组件状态并避免重复渲染的组件。 English | :sparkles: 特征不基于React Router,... 要将React Keep Alive与React应用程序一起使用: npm install --save react-keep-alive :hammer: 用法React Kee

    Vue中 key keep-alive的实现原理

    vue2.0提供了一个keep-alive组件用来缓存组件,避免多次加载相应的组件,减少性能消耗 keep-aliv是Vue.js的一个内置组件。它能够不活动的组件实例保存在内存中,而不是直接将其销毁,它是一个抽象组件,不会被渲染到...

    router-keep-alive:React路由器组件,真正保持活动组件

    欢迎对router-keep-alive做出React :waving_hand: :house: :cow_face: :pig_nose: 仅支持哈希路由模式! :backhand_index_pointing_left: React路由器组件,真正保持活动组件 安装 yarn add router-keep-alive # ...

    vue keep-alive 动态删除组件缓存的例子

    3、当前组件的route-view,外层包裹keep-alive,include用你从仓库里面取出来的数组 4、关闭标签页(也就是后退路由的时候),清空store里的数组 总结:通过动态的设置include(要缓存的组件)的数组,来动态的控制...

Global site tag (gtag.js) - Google Analytics