TCP/IP(七)TCP的连接管理(四)全连接

news2024/9/23 19:24:02

一  连接队列

 nginx listen 参数backlog的意义    nginx配置文件中listen后面的backlog配置

①  TCP全连接队列概念

全连接队列: 也称 'accept' 队列

②  查看应用程序的 TCP 全连接队列大小

实验1:  ss 命令查看 'LISTEN状态'下 'Recv-Q/Send-Q' 含义

附加:   8080端口是'nginx'监听的

备注:   全连接队列一般'所处'在服务端

补充:   Recv-Q  接收队列,'一般为0',如果'不是0',表示队列'正在堆积'

 

实验2:  ss 命令查看 '非 LISTEN状态'下 'Recv-Q/Send-Q' 含义

强调:   ss 命令加不加'l'参数,'Recv-Q/Send-Q' 含义'不同'

补充: netstat 命令的 'l'参数同上

-p:  显示'进程名/程序名'

③  ab 模拟 TCP 全连接队列溢出

1、'ab' 简介

2、客户端执行 'ab' 命令对服务端发起'压力'测试

场景:有时设置'并发参数较大'时,'10000+'执行命令时会报如下'错误'

apr_socket_recv: Connection reset by peer (104)报错      ab -r 参数也可以解决报错

3、压测'结果'

备注: 关于'ss'的观察结果这里不再赘述,我们在'wrk'测试中观察

④  wrk模拟 TCP 全连接队列溢出

模拟测试中'环境'内核参数:

  1、somaxconn 是默认值 128

  2、nginx 的 backlog 是默认值 511

wrk安装和使用

1、客户端执行 'wrk' 命令对服务端发起'压力测试',并发 '3 万' 个连接

wrk -t 6 -c 30000 -d 60s http://192.168.3.200:8088

2、在'服务端'可以使用 'ss' 命令,来查看当前 TCP '全连接队列'的情况

建议: watch -n1 "ss -lnt| grep 8088" 实时观察

3、查看 'TCP 最大全连接队列' 溢出情况

watch -n1 'netstat -s | grep overflowed'

⑤  linux中 TCP全连接队列满了使用什么策略来回应客户端

内核参数: /proc/sys/net/ipv4/tcp_abort_on_overflow

备注: 默认就是'0',直接'drop'丢弃

补充: 置为'1'会在'全连接队列'满了的场景,服务端触发'RST'

排查: 户端'连接不上'服务端,'是不是'服务端 TCP 全连接队列满的'原因'?

tcp_abort_on_overflow 1 --> 'connection reset by peer' --> '全连接队列溢出'

⑥  如何增大 TCP 全连接队

TCP 全连接队列的'最大值' = min(somaxconn, backlog)

细节:同一操作系统somaxconn在'物理机'和'虚拟机'默认值'不一样'

注意:这里'somaxconn'和'backlog'的具体含义

案例: 增加nginx中'全连接队列'的最大值

1、'默认'的初始状态

2、增加'net.core.somaxconn'内核参数值

3、同时增加 nginx 'listen 指令的' backlog 参数,也同样设置成 '5000'

4、重启完后 nginx 服务后,'服务端执行 ss 命令',观察 TCP '全连接队列'大小

5、继续'探究' --> 增大 TCP 全连接队列为'5000'后,继续'压测'

说明: 客户端同样以 '3 万个连接' 并发发送请求给服务端

6、对'上述结果'分析

重点: 查看'TCP全连接队列'是否溢出

⑦  TCP连接失败排查

netstat -s TCP连接失败 相关统计 解释

netstat -s 输出解释

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

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

相关文章

2785323-77-3,MAL-Alkyne,双功能连接试剂Alkyne maleimide

炔烃马来酰亚胺,Alkyne maleimide,MAL-Alkyne是一种非常有用的双功能连接试剂,可以在生物分子中发挥重要的作用。它的马来酰亚胺基团可以与生物分子中的硫醇基团反应,形成共价键,从而将生物分子与炔烃连接起来。这种连接方式在生物…

React的类式组件和函数式组件之间有什么区别?

React 中的类组件和函数组件是两种不同的组件编写方式,它们之间有一些区别。 语法和写法:类组件是使用类的语法进行定义的,它继承自 React.Component 类,并且需要实现 render() 方法来返回组件的 JSX。函数组件是使用函数的语法进…

Linux|qtcreator编译可执行程序双击运行

qt GUI window移植到linux参见:VS|vs2017跨平台编译linux&&CConsole&&QtGUI 参考:QtCreator修改项目的生成目录 文章目录 双击.pro文件,点击configureproject构建项目切换到release模式下双击打开pro文件,修改依赖…

嵌入式Linux裸机开发(六)EPIT 定时器

系列文章目录 文章目录 系列文章目录前言介绍配置过程 前言 前面学的快崩溃了,这也太底层了,感觉学好至少得坚持一整年,我决定这节先把EPIT学了,下面把常见三种通信大概学一下,直接跳过其他的先学移植了,有…

项目平台——项目首页设计(五)

这里写目录标题 一、页面成果图展示二、滚动条组件的使用三、页面设计1、需要4个盒子2、项目名称样式设计3、对基本信息、bug统计、执行记录进行样式设计4、基本信息5、bug统计 四、echarts使用1、安装2、折线图的使用 一、页面成果图展示 二、滚动条组件的使用 当内容超过屏幕…

虹科技术 | 重磅更新!手持式PCAN-Diag FD现可扩展为J1939监控器

重磅更新!现可将手持式PCAN-Diag FD现可扩展为J1939监控器,协助您的CAN总线通信诊断! 文章目录 一、PCAN-Diag FD 功能更新二、PCAN-Diag FD 简介 一、PCAN-Diag FD 功能更新 PCAN-Diag FD可以监控CAN/CAN FD总线的通信情况,可以…

SAP 设置不能用ME52N修改PR,但需要PR的修改权限

SAP 设置不能用ME52N修改PR,但需要PR的修改权限 想到3个思路: 1.设置屏幕字段控制,分配用户参数 2.设置屏幕变式SHD0 3.增强逻辑控制 此处用增强示例:

实现基于 GitLab 的数据库 CI/CD 最佳实践

数据库变更一直是整个应用发布过程中效率最低、流程最复杂、风险最高的环节,也是 DevOps 流程中最难以攻克的阵地。那我们是否能在具体的 CI/CD 流程中,像处理代码那样处理数据库变更呢? DORA 调研报告 DORA(DevOps Research &am…

第十七章总结

一.SQL语言 1.select语句 select语句用于从数据表中检索数据。语法: SELECT 所选字段列表 FROM 数据表名 WHERE 条件表达式 GROUP BY 字段名 HAVING 条件表达式(指定分组的条件) OEDER BY 字段名[ASC|DESC] 2.insert语句 i…

Adobe Media Encoder 2024,高效编码和转换视频的首选工具

Adobe Media Encoder 2024(简称Me2024)是Adobe公司推出的一款专业级视频编码和转换工具。它可以将各种格式的音频、视频文件转换为您需要的格式,并支持批量处理,让您在短时间内完成大量任务。 Me2024集成了Adobe Premiere Pro、A…

面部检测与特征分析:视频实时美颜SDK的核心组件

随着视频直播、社交媒体和在线会议的流行,人们对于美颜工具的需求不断增加。无论是自拍照片还是视频聊天,美颜技术已经成为现代应用程序的不可或缺的一部分。本文将深入探讨视频实时美颜SDK的一个核心组件——面部检测与特征分析。 一、面部检测技术 …

设计一个 SSO 单点登录系统

单点登录 (SSO) 发生在用户登录到一个应用程序,然后自动登录到其他应用程序时,无论用户使用的平台、技术或域如何。用户仅登录一次,因此功能的名称(单一登录)。 例如,如果您登录 Gm…

双周赛114(模拟、枚举 + 哈希、DFS)

文章目录 双周赛114[2869. 收集元素的最少操作次数](https://leetcode.cn/problems/minimum-operations-to-collect-elements/)模拟 [2870. 使数组为空的最少操作次数](https://leetcode.cn/problems/minimum-number-of-operations-to-make-array-empty/)哈希 枚举 [2871. 将数…

【Redis】之高并发场景下主从同步数据一致性问题探究

高并发极限场景 问题分布式锁失效,高并发极限场景下主从同步延时主节点崩溃等原因导致的数据不一致 背景知识:redis主从复制为异步同步过程 如图:redis cluster集群部署,多主多从架构(基于哈希槽的分配策略&#xf…

Flink报错could not be loaded due to a linkage failure

文章目录 1、报错2、原因3、解决 1、报错 在Flink上提交作业,点Submit没反应,F12看到接口报错信息为: 大概意思是,由于链接失败,无法加载程序的入口点类xx。没啥鸟用的信息,去日志目录继续分析&#xff1a…

1712A 300A嵌入式电源系统

1712A 300A嵌入式电源系统 1712A 300A嵌入式电源系统采用模块化设计、组合式结构,由控制器、整流模块、交流配电单元、直流配电单元等组成。该系统将交流电转换成稳定的-48V直流电,用于铁塔、移动、电信、联通等公司的传输、接入网,以及专网等…

这样的丝瓜竟比砒霜还毒?赶紧看......

丝瓜滑嫩爽口,富含多种营养物质,无论凉拌还是炒菜都是不错的选择。可最近有人说,苦味的丝瓜有毒,甚至比砒霜还毒! 这是真的吗? 苦味丝瓜,毒过砒霜? 苦味丝瓜中毒是因为碱糖甙生物碱…

NVIDIA CX 网卡驱动安装 测试

确定系统版本 cat /etc/issue Ubuntu 20.04.4 LTS \n \l uname -m x86_64 下载驱动 https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/ 选择对应系统版本架构 上传文件后解压文件 tar xf MLNX_OFED_LINUX-23.07-0.5.1.2-ubuntu20.04-x86_64.tgz 进…

【Spring框架学习3】Spring Bean的作用域 及 生命周期

一、Spring Bean的作用域有哪些? Spring框架支持以下五种Bean的作用域: Singleton:这是默认的作用域,在每个Spring IoC容器中只有一个Bean的实例(IoC初始化后)。Spring 中的 bean 默认都是单例的,是对单例设计模式的…