java web tcp长连接超时时间_常用java web容器http长连接超时设置

1.http长连接相关知识

http长连接对我们来说并不陌生,但长连接并不是永远不会关闭。对于HTTP长连接需要注意下面几点:keepalive_timeout指的是web服务器发送完最后一个响应报文后,开始计时,如果在keepalive_timeout指定的时间内还没有收到该连接上的下次请求,则关闭该连接。

http长连接的keepalive_time和tcp连接的keepalive_timeout不同。

http keep-alive与tcp keep-alive,意图不一样。http keep-alive是为了让tcp活得更久一点,以 便在同一个连接上传送多个http,提高socket的效率。而tcp keep-alive是TCP的一种检测TCP连接状况的保鲜机制。tcp keep-alive保鲜定时器,支持三个系统内核配置参数:echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time

echo 15 > /proc/sys/net/ipv4/tcp_keepalive_intvl

echo 5 > /proc/sys/net/ipv4/tcp_keepalive_probes

keepalive是TCP保鲜定时器,当网络两端建立了TCP连接之后,闲置idle(双方没有任何数据流发送往来)了tcp_keepalive_time后,服务器内核就会尝试向客户端发送侦测包,来判断TCP连接状况(有可能客户端崩溃、强制关闭了应用、主机不可达等等)。如果没有收到对方的回答(ack包),则会在 tcp_keepalive_intvl后再次尝试发送侦测包,直到收到对对方的ack,如果一直没有收到对方的ack,一共会尝试 tcp_keepalive_probes次,每次的间隔时间在这里分别是15s, 30s, 45s, 60s, 75s。如果尝试tcp_keepalive_probes,依然没有收到对方的ack包,则会丢弃该TCP连接。TCP连接默认闲置时间是2小时,一般设置为30分钟足够了。

3.除了内存有关tcpkeepalive的设置外,针对每个tcp连接,也有3个对应的参数,通过setsockopt系统调用针对单独的socket进行设置:TCPKEEPCNT: 覆盖 tcpkeepaliveprobes

TCPKEEPIDLE: 覆盖 tcpkeepalivetime

TCPKEEPINTVL: 覆盖 tcpkeepalive_intvl

2.常见的java web容器http长连接设置tomcat

2.nginx

nginx 使用指令keepalive_timeout [time]来设置http长连接keepalive_timeout的值,可以在三个地方进行设置,http上下文,server上下文,location上下文。

3.apache

KeepAlive On

KeepAliveTimeout 15

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java相遇问题_行程问题

行程问题 《行程问题》说课设计——现代教育信息技术与数学学科的整合福建省闽侯县尚干中心小学 林惠贞 邮编:350112 邮箱:zhenzi2277163.com众所周知,未来的教育,倡导开放式学习,把学习的地点扩展到社会、网络&…

jbutton 数组创建 java_java-将JButton数组添加到JPanel(按钮不可见)

我正在尝试使用Java创建一个简单的计算器.为此,我创建了一个JButton数组并将其添加到JPanel中.问题:按钮不可见.我还添加了一个JLabel和一个JButton进行测试,它们可以正确显示.编码:package test;import java.awt.BorderLayout;import javax.swing.*;pub…

jwt java 项目实例_JWT(JsonWebToken)+SpringMVC项目demo

【实例简介】JSON Web Token(JWT)是一个非常轻巧的规范。现在免费给大家分享一个JWT(JsonWebToken)SpringMVC项目的demo!【实例截图】【核心代码】jwt-demo└── jwt-demo├── pom.xml├── src│ └── main│ ├── java│ │ └── com│ │ └── hthl…

java写一个99到0_Java中一个普通的循环为何从10开始到99连续相乘会得到0?

【套装4本】java编程思想4第4版402.5元包邮(需用券)去购买 >这是一块非常简单的Java代码片段&#xff1a;public class HelloWorld{public static void main(String []args){int product 1;for (int i 10; i < 99; i) {product * i;}System.out.println(product);}}为什…

neo4j java查找_Spring-Boot使用neo4j-java-driver-- 查找两个节点之间关系的最短路径

一、Cypher数据create (小北:朋友圈{姓名:"小北", 喜欢的书类:"Poetry"}),(小菲:朋友圈{姓名:"小菲", 喜欢的书类:"Science Fiction"}),(小鹏:朋友圈{姓名:"小鹏", 喜欢的书类:"Music"}),(小颖:朋友圈{姓名:"…

java 返回两个集合_使用 java stream 获取两个集合之间的交集.差集

原始对象List hrProbationMainList new ArrayList();List hrProbationMains probationMainDao.findAll();获取交集对象stream 转换成流 (只有变成流才能操作)filter 封装判断条件(如果true 则收集到结果中,false则不收集)collect 收集结果返回到指定类型中//交集对象ListhrPro…

java重写重定向_JavaWeb请求转发与请求重定向理解

请求转发使用方法httpServletRequest.getRequestDispatcher("login.jsp").forward(httpServletRequest, servletresponse);此请求过程 完全是一次request对象 完成的。我们可以用 filter 截取用户的这次请求&#xff0c;然后利用这次请求 访问其它页面&#xff0c;当…

autojs调用java识字_autojs实现抽象类的继承

作者: 牙叔使用情景在java中, 抽象类必须继承才能使用, 那么在autojs中怎样实现继承抽象类呢?java中的实现创建一个抽象类package com.yashu;public abstract class Employee{ private String name; private String address; private int number; public abstract double com…

java wix_使用WIX升级MSI

我正在使用WIX创建一个MSI安装程序 . 一切都很好&#xff0c;我能够创建自己的产品并创造一切 .但是&#xff0c;当我想要创建升级时&#xff0c;它无法正常工作 .我使用了以下代码&#xff0c;其中$(var.ProductUpgradeCode)被定义并用作product元素中的upgrade-code .Minimum…

继承易错总结

1.继承会将所有的成员继承下来&#xff0c;但是继承方式限定的是继承下来成员的可见类型(如果是private继承&#xff0c;那么他不论哪里都是不可见的&#xff1b;如果是protected继承在类中是可见的&#xff0c;在类外是不可见的&#xff1b;如果是public继承&#xff0c;在任何…

flat在java中的含义_Java 9中Collectors.flatMapping()方法的重要性?

在Java 9中&#xff0c;向Collectors类添加了一个新方法&#xff1a;flatMapping()。它类似于Collectors.mapping()方法&#xff0c;其中flatMapping()方法允许我们处理嵌套的集合。 Collectors.flatMapping()方法需要的功能将被施加到输入元件和集电极积累通过功能传递的元件。…

hhkb适合写java吗_起底这届HHKB最强新品键盘,究竟好在哪儿?

2019年12月HHKB上市了3大品类的12款新品键盘&#xff0c;今天为大家分享外设天下为HHKB Professional HYBIRD Type-S 双模静音旗舰版静电容键盘做的评测&#xff0c;起底这届HHKB新品的最强新品。近日&#xff0c;HHKB更新了旗下的在售产品系列&#xff0c;为了满足严肃、安静办…

java暂停5s_java如何实现继续/暂停按钮

匿名用户1级2016-11-24 回答很简单&#xff0c;我给你写一个Demo&#xff1a;import java.awt.event.*;import javax.swing.*;public class Demo extends Thread {private JFrame frm new JFrame("Demo");private JButton btnPause new JButton("Pause")…

c mysql数据库_C实现MySQL数据库操作

C实现MySQL数据库操作两个月前&#xff0c;也就是9月份&#xff0c;心血来潮在windows下实现了用C连接数据库&#xff0c;当时很是有把linux下一并给实现了。但是没有想得那么简单。这个任务一直推迟到了现在才完成&#xff0c;究其原因&#xff1a;1.我直接用eclipse开发工具&…

php生成不重复时间戳,PHP获取时间戳和微秒数以及生成唯一ID

microtime函数描述&#xff1a;返回当前Unix时间戳和微秒数语法&#xff1a;mixed microtime( [ bool $get_as_float ] )//直接输出echo microtime();//得到的是 如&#xff1a;0.26672100 1585622985 前面是当前微秒数&#xff0c;后面是正常时间戳&#xff0c;中间以空格分隔…

php异步处理任务工具,PHP实现异步任务分发处理利器-Gearman

通常&#xff0c;多语言多系统之间的集成是个大问题&#xff0c;一般来说&#xff0c;人们多半会采用WebService的方式来处理此类集成问题&#xff0c;但不管采用何 种风格的WebService&#xff0c;如RPC风格&#xff0c;或者REST风格&#xff0c;其本身都有一定的复杂性。相比…

java dos窗口小工具下载,maxdos 9 3-maxdos工具箱 v9.3 官方版

maxdos 9 3maxdos工具箱是一个dos工具箱&#xff0c;maxdos工具箱为安装好的电脑系统加入dos&#xff0c;方便用户维护与备份还原&#xff0c;是完全傻瓜化的工作模式&#xff0c;更是可以直接启动硬盘上的光盘ISO镜像一键启动。maxdos工具箱特色说明&#xff1a;1、支持进入DO…

java 1.7 linux rpm,linux下用rpm 安装jdk 7的jdk-7u79-linux-x64.rpm

linux下用rpm 安装jdk 7的jdk-7u79-linux-x64.rpm步骤一、下载jdk的rpm安装包步骤二、如果linux是centos的话&#xff0c;请先卸载openjdk&#xff0c;参考文档&#xff1a;使用rpm命令卸载CentOS 6.4自带的OpenJDK步骤三、安装jdk-7u79-linux-x64.rpm安装包先执行以下命令给所…

普通用户无法执行java,CentOS tomcat普通用户执行配置安装

CentOS tomcat经过长时间的发展&#xff0c;这里我发表一下个人理解&#xff0c;下面就这就来讲术CentOS tomcat。CentOS tomcat6_jdk1.6_安装配置_开启自动运行,普通用户执行 (转)秀脱linux笔记之CentOS tomcat6实战篇由于前段时间一直在外头出差&#xff0c;没有完成CentOS t…

elementui树形复选框,element-ui checkbox 组件的树形联动

前言示例版本为 Element-ui 2.13.0 Vue 2.6.11最近想弄 Element-ui checkbox 的多级联动&#xff0c;网上相关的例子大多数为二级联动&#xff0c;自己研究了一下&#xff0c;弄了一个树形菜单的多级联动&#xff0c;常用于角色管理等业务。(仅供参考&#xff0c;未考虑性能问…