内嵌Tomcat的Connector对象的静态代码块

  在排查问题的过程中发现Connector对象有一个静态代码块:

    static {replacements.put("acceptCount", "backlog");replacements.put("connectionLinger", "soLinger");replacements.put("connectionTimeout", "soTimeout");replacements.put("rootFile", "rootfile");}

  其中backlog在linux里可以通过man listen > listen.txt导出看到:

The backlog argument defines the maximum length to which the  queue  ofpending  connections  for  sockfd  may  grow.   If a connection requestarrives when the queue is full, the client may receive an error with anindication  of  ECONNREFUSED  or,  if  the underlying protocol supportsretransmission, the request may be ignored so that a later reattempt atconnection succeeds

  TCP连接过程中有三个结构分别用于保存:每一个客户端的连接,握手成功的连接,正在握手中但尚未成功的连接。内核为任何一个给定的监听套接口维护两个队列:1、未完成连接队列(incomplete connection queue),每个这样的SYN分节对应其中一项:已由某个客户发出并到达服务器,而服务器正在等待完成相应的TCP三路握手过程。这些套接口处于SYN_RCVD状态;2、已完成连接队列(completed connection queue),每个已完成TCP三路握手过程的客户对应其中一项。这些套接口处于ESTABLISHED状态。

 Now it specifies the  queue  length  for  completely  establishedsockets  waiting  to  be  accepted, instead of the number of incompleteconnection requests.  The maximum length of the  queue  for  incompletesockets  can be set using /proc/sys/net/ipv4/tcp_max_syn_backlog.  Whensyncookies are enabled there is no logical maximum length and this set‐ting is ignored.  See tcp(7) for more information.If    the   backlog   argument   is   greater   than   the   value   in/proc/sys/net/core/somaxconn, then it is  silently  truncated  to  thatvalue;  the  default  value  in  this  file  is 128.  In kernels before2.4.25, this limit was a hard coded value, SOMAXCONN,  with  the  value128.

  backlog是调用listen方法时传入的参数,指定可以握手成功的最大连接数量,但是对于linux如果这个值大于/proc/sys/net/core/somaxconn设置的值,将会取somaxconn的值替代它。所以要注意,somaxconn值如果设置的不够大,Tomcat配置中的连接数值是不会起作用的,可以通过sysctl -w net.core.somaxconn=***来修改这个值;对应的/proc/sys/net/ipv4/tcp_max_syn_backlog设置的是最大未完成连接队列的值,但是这个值会在/proc/sys/net/ipv4/tcp_syncookies是1的时候失效。具体实现过程可参考:http://blog.csdn.net/raintungli/article/details/37913765

  soLinger用于指定socket在关闭TCP连接时如何操作。内核缺省close操作是立即返回,如果有数据残留在套接口缓冲区中则系统将试着将这些数据发送给对方。自定义了这项设置可以选择是缓冲区数据全部丢弃立即关闭、发送完或超时再关闭或延迟指定时间后关闭。参考:http://blog.csdn.net/factor2000/article/details/3929816

  soTimeout用于指定数据超时时间,单位是毫秒,就是说在连续的数据传输过程中,两个包之间可接受的最大间隔的时间,如果设置为0则认为不限制间隔时间。

  rootfile由于和我的问题关系不大,所以暂时没有细看,会在整理容器的时候看看。应该是指根文件系统,参考:http://www.eeskill.com/article/index/id/1358.html

==========================================================

咱最近用的github:https://github.com/saaavsaaa

微信公众号:

                      

 

 

转载于:https://www.cnblogs.com/saaav/p/6341100.html

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

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

相关文章

【Python爬虫学习笔记1】网络协议及请求基础

http协议与https协议 HTTP协议(全称为HyperText Transfer Protocol,超文本传输协议),是发布和接收HTML页面的方法,其服务端口号为80。 HTTPS协议为HTTP协议的加密版本,其在HTTP下加入了SSL层,服务端口号为443。 URL结构…

快速上手SpyGlass——基本流程

SpyGlass,这是一个很强大的RTL验证级工具。它不仅仅能检查sdc的错误,还能做以下各种检查:Low Power, DFT,CDC(Cross Domain Check)。 一、基本概念 1、方法学相关 Rule: 是SpyGlass 进行RTL分析的最小单…

快速上手SpyGlass——CDC检查

随着技术的发展,数字电路的集成度越来越高,设计也越来越复杂。很少有系统会只工作在同一个时钟频率。一个系统中往往会存在多个时钟,这些时钟之间有可能是同步的,也有可能是异步的。如果一个系统中,异步时钟之间存在信…

数字后端——低功耗单元库

在之前的文章中,介绍了低功耗设计物理实施的方案: 数字后端——低功耗设计物理实施_沧海一升的博客-CSDN博客_低功耗设计低功耗设计方案所涉及到的物理实施相关内容https://blog.csdn.net/qq_21842097/article/details/119918312 为了实现例如门…

NandFlash详述

1. 硬件特性: 【Flash的硬件实现机制】 Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device)。这类设备,除了Flash,还有其他比较常见…

史上最全的MySQL高性能优化实战总结!

1.1 前言 MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器…

低功耗设计——基于UPF进行设计

UPF, 统一电源格式UPF(Unified Power Format)是新思(Synopsys)公司通用的电源格式,是一组标准的类Tcl 语言的集合,用来描述芯片设计中的低功耗意图(Low-Power Design Intent)。 使用UPF 的语言,可以描述供电…

用公众号获取 任意公众号文章列表 软件还是免费

用公众号获取 任意公众号文章列表 软件还是免费还不快点下载 下载 地址 https://pan.baidu.com/s/1jI44Wjs转载于:https://www.cnblogs.com/wx85437898/p/7488590.html

CentOS7时间设置问题

本地安装一个VMWare player虚拟机客户端,并安装了Linux CentOS7 Basic Web Server系统,时区在安装时已经选择了Asia/Shanghai,但是安装完成后,时间和当前外部的时间不一致,如下图 图一 图二 图三 后经搜索发现,由于未开…

低功耗设计——功耗估算

根据在功耗分析的过程中是否有输入向量的提供,功耗估算方法可以分为仿真的方法(Simulative)和非仿真的方法(Non-simulative): 仿真的方法是根据用户所提供的大量输入向量来对电路进行模拟,利用…

Deep Learning(深度学习)学习笔记整理系列三

Deep Learning(深度学习)学习笔记整理系列 声明: 1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献。 2)本文仅供学术交流&…

Conformal ECO 流程介绍

之前听说过一句话,没有修过ECO的人生是不完整的。最近就给我整得再次完整了。。。。。。 最近赶项目,RTL freeze之后,后仿发现出了bug(还好拦下来了,不然头更大),于是做了一次function ECO&…

Zabbix discoverer processes more than 75% busy

原文发表于cu:2016-06-22 Zabbix discoverer processes more than 75% busy原因及处理。 一.现象 配置了discovery任务后,zabbix dashboard 告警如下: Zabbix discoverer processes more than 75% busy 二.原因 1. 配置…

图像紫边消除(depurple)

图像紫边广泛存在于目前的手机摄像头、数码相机、监控摄像头等数字成像系统所得图像中,当我们使用这些设备在逆光、大光圈等条件下拍摄时,所得图像的局部区域,特别是高反差区域(亮暗对比反差很大的图像区域,比如天空、灯管与物体相接的边缘)会比较容易观察到紫边,解决图…

Swift 性能相关

起初的疑问源自于「在 Swift 中的, Struct:Protocol 比 抽象类 好在哪里?」。但是找来找去都是 Swift 性能相关的东西。整理了点笔记,供大家可以参考一下。 一些疑问 在正题开始之前,不知道你是否有如下的疑问: 为什么说 Swift 相…

HTTPS 路径配置

1: 首先安装 fiddlercertmaker.exe 文件2:Tools -> HTTPS 3: Connections 勾中Allow remote computer to connect转载于:https://www.cnblogs.com/eason-d/p/7492177.html

CMOS图像传感器——相位对焦

之前介绍了许多自动对焦的方案 自动对焦方法学习_沧海一升的博客-CSDN博客自动对焦的各类方法学习介绍https://blog.csdn.net/qq_21842097/article/details/121373263 在里面提到了遮蔽像素相位检测法,原理上算是相位检测法(Phase Detection Auto Focus,PDAF)的一种。…

Spring Cloud Config 和Spring Cloud Bus实现配置中心

2019独角兽企业重金招聘Python工程师标准>>> Spring Cloud是很多组件的集合,Spring将常用的技术框架进行包装和整合,如mybatis zookeeper rabbitmq redis等等,还有一些科技公司贡献出来的一些经过生产环境验证的组件如奈飞公司贡献…

CMOS图像传感器——闪烁(flicker)现象

一、概述 闪烁(Flicker),通常发生在室内场景,曝光时间设置如果不是光源能量周期的整数倍,则图像不同位置处积累的信号强度不同,并呈周期性变化,这是单帧图像的情况。在视频序列上,如果满足一定条件,视频会出现条纹模式在垂直方向上缓慢移动。 二、形成原因 1、光源 …

CMOS图像传感器——图像传感器噪声

图像传感器噪声取决于图像传感器的制作工艺、内部结构及内部补偿技术等原因,噪声反应了图像传感器的内部特性。CMOS图像传感器基本原理见: CMOS图像传感——概述_沧海一升的博客-CSDN博客_cmos图像传感器CMOS图像传感器基本介绍https://blog.csdn.net/qq_21842097/article/d…