当前位置: 首页 > news >正文

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

一  连接队列

 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 是默认值 1282、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 输出解释

相关文章:

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

一 全连接队列 nginx listen 参数backlog的意义 nginx配置文件中listen后面的backlog配置 ① TCP全连接队列概念 全连接队列: 也称 accept 队列 ② 查看应用程序的 TCP 全连接队列大小 实验1: ss 命令查看 LISTEN状态下 Recv-Q/Send-Q 含义附加:…...

LeetCode【84】柱状图中的最大矩形

题目: 思路: https://blog.csdn.net/qq_28468707/article/details/103682528 https://www.jianshu.com/p/2b9a36a548fa 清晰 代码: public int largestRectangleArea(int[] heights) {int[] heightadd new int[heights.length 1];for (i…...

C++:关于模拟实现vector和list中迭代器模块的理解

文章目录 list和vector的迭代器对比list的实现过程完整代码 本篇是关于vector和list的模拟实现中,关于迭代器模块的更进一步理解,以及在前文的基础上增加对于反向迭代器的实现和库函数的对比等 本篇是写于前面模拟实现的一段时间后,重新回头…...

HTML 笔记 表格

1 表格基本语法 tr:table row th:table head 2 表格属性 2.1 基本属性 表格的基本属性是指表格的行、列和单元格但并不是每个表格的单元格大小都是统一的,所以需要设计者通过一些属性参数来修改表格的样子,让它们可以更更多样…...

3.1 C/C++ 使用字符与指针

C/C语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。…...

[代码学习]einsum详解

einsum详解 该函数用于对一组输入 Tensor 进行 Einstein 求和,该函数目前仅适用于paddle的动态图。 Einstein 求和是一种采用 Einstein 标记法描述的 Tensor 求和,输入单个或多个 Tensor,输出单个 Tensor。 paddle.einsum(equation, *opera…...

女性必看——“黄体破裂”到底有多可怕?

前几天的亚运会上发生了这样一件事: 雅思敏(化名)是一名国外皮划艇运动员,在亚运会上奋力完成皮划艇比赛后,突然开始 剧烈腹痛、面色苍白,大汗淋漓,经过进一步检查,确诊卵巢黄体破裂…...

colab切换目录的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

基于SSM的生活缴费系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...

【WebLogic】WebLogic 2023年7月补丁导致JVM崩溃的解决方案

受影响版本: Oracle WebLogic 12c(12.2.1.4.0)Oracle WebLogic 14c(14.1.1.0.0) 问题描述: Oracle官方在2023年7月发布的最新版本的OPatch(13.9.4.2.13)存在一个新出现的Bug&#…...

简单OpenSL ES学习

初识OpenSL ES OpenSL ESObjects和Interfaces 所有的Object在OpenSl里面我们拿到的都是一个SLObjectItf:SLObjectItf_创建引擎创建过程要设计得这么麻烦?(object的生命周期)这么多参数,参数类型这么多学习障碍太大&…...

Linux网络编程- struct packet_mreq setsockopt()

struct packet_mreq struct packet_mreq 是一个数据结构,用于 Linux 中的原始数据包套接字,当我们想改变套接字的行为以接收特定类型的数据包时,它与 setsockopt() 函数配合使用。 下面是 struct packet_mreq 的定义: struct p…...

C++学习day4

作业&#xff1a; 1> 思维导图 2> 整理代码 1. 拷贝赋值函数课上代码 //拷贝赋值函数课上代码 #include<iostream> using namespace std;//创建类 class Stu { private://私有的string name;int socer;int *age;//此处注意用到指针类型 public://共有的//无参构…...

从零学算法54

54.给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 螺旋遍历&#xff1a;从左上角开始&#xff0c;按照 向右、向下、向左、向上 的顺序 依次 提取元素&#xff0c;然后再进入内部一层重复相同的步骤&#xff0c;直到…...

Logback日志框架使用详解以及如何Springboot快速集成

Logback简介 日志系统是用于记录程序的运行过程中产生的运行信息、异常信息等&#xff0c;一般有8个级别&#xff0c;从低到高为All < Trace < Debug < Info < Warn < Error < Fatal < OFF off 最高等级&#xff0c;用于关闭所有日志记录fatal 指出每个…...

Nginx概念

Nginx概念 Nginx 是一款面向性能设计的 HTTP 服务器&#xff0c;相较于 Apache、lighttpd 具有占有内存少&#xff0c;稳定性高等优势&#xff0c;同时也是一个非常高效的反向代理、负载平衡服务器 nginx使用的是反应器模式&#xff0c;主事件循环等待操作系统发出准备事件的信…...

vim基础指令(自用)

这个是自己随便写的&#xff0c;类似于笔记 vim 多模式编辑器 查看指令&#xff1a; gg&#xff1a; 定位光标到最开始行 shift(按)g 定位到最结尾行 nshift(按)g 定位到任意行 shift&#xff04; 定位到本行结尾 0 定位到本行开头 w&#xff1a;跨单词移动 h.j.k,l: 左下上右 …...

【centos7安装ElasticSearch】

概述 最近工作中有用到ES &#xff0c;当然少不了自己装一个服务器捣鼓。本文的ElasticSearch 的版本&#xff1a; 7.17.3 一、下载 ElasticSearch 点此下载 下载完成后上传至 Linux 服务器&#xff0c;本文演示放在&#xff1a; /root/ 下&#xff0c;进行解压&#xff1…...

ElementPlus Switch 开关基础使用

昨天开发用到开关组件 后台返回字段是 can_write 默认是0 or 1 但是Switch 组件绑定的默认值默认是 true or false 直接绑定会导致默认是关闭状态 在页面一加载 值发生变化时 会自己调用 查了文档 需要使用 active-value 和 inactive-value 来指定绑定的数据类型 …...

Spring Boot:自定义注解--annotation

目录 自定义注解的定义和作用范围如何创建自定义注解创建注解接口 如何使用自定义注解进行数据验证创建注解处理器控制器中使用注解 如何为字段添加注解 自定义注解的定义和作用范围 自定义注解可以作用在类、方法、属性、参数、异常、字段或其他注解上。 如何创建自定义注解…...

YOLO12新手入门:40MB轻量模型,低配置也能流畅运行

YOLO12新手入门&#xff1a;40MB轻量模型&#xff0c;低配置也能流畅运行 1. YOLO12简介与核心优势 1.1 什么是YOLO12 YOLO12是2025年最新发布的目标检测模型&#xff0c;由美国纽约州立大学布法罗分校和中国科学院大学联合研发。这个模型最大的特点是引入了革命性的注意力为…...

VBA延时技术全解析:从基础Timer到高精度API的避坑指南

1. VBA延时技术入门&#xff1a;为什么需要精确控制时间&#xff1f; 在自动化办公场景中&#xff0c;VBA脚本经常需要控制操作节奏。比如批量处理Excel数据时&#xff0c;如果连续快速操作可能导致系统资源冲突&#xff1b;或者开发用户界面时需要实现按钮点击后的缓冲效果。这…...

Ostrakon-VL-8B视觉语言模型一键部署:Anaconda环境配置保姆级教程

Ostrakon-VL-8B视觉语言模型一键部署&#xff1a;Anaconda环境配置保姆级教程 你是不是也对那些能看懂图片、还能跟你聊天的AI模型感到好奇&#xff1f;想自己动手部署一个来玩玩&#xff0c;结果被各种环境配置、依赖冲突搞得头大&#xff1f;别担心&#xff0c;今天咱们就来…...

Clawdbot汉化版实测:企业微信接入AI客服,响应速度提升92%

Clawdbot汉化版实测&#xff1a;企业微信接入AI客服&#xff0c;响应速度提升92% 1. 企业客服场景的痛点与解决方案 1.1 传统客服面临的挑战 在电商和客户服务领域&#xff0c;企业微信已成为重要的客户沟通渠道。然而传统客服模式存在三个核心问题&#xff1a; 响应延迟&a…...

OpenClaw知识库搭建:Qwen3-32B私有镜像消化PDF手册

OpenClaw知识库搭建&#xff1a;Qwen3-32B私有镜像消化PDF手册 1. 为什么需要本地化知识库 去年我接手了一个工业设备维护项目&#xff0c;客户提供了37份PDF格式的技术手册&#xff0c;总页数超过2000页。当我需要查询某个传感器的安装参数时&#xff0c;不得不使用CtrlF在所…...

Comsol模拟混凝土中水分传递 低气压下水分转移引起的水泥浆龄期微观结构变化 低气压(AP)...

Comsol模拟混凝土中水分传递 低气压下水分转移引起的水泥浆龄期微观结构变化 低气压&#xff08;AP&#xff09;会影响混凝土中的水分传递&#xff0c;进而影响其微观结构和体积特性&#xff0c;但对其热力学机制却知之甚少 可文献复现 水泥基材料内部的水分运动会直接改变孔隙…...

AXI Quad SPI IP核在多主设备环境下的三态总线设计与实现

1. AXI Quad SPI IP核的多主设备挑战 第一次接触AXI Quad SPI IP核的多主设备配置时&#xff0c;我踩过一个典型的坑&#xff1a;两个FPGA内部主模块同时向SPI总线发送数据&#xff0c;导致MOSI信号出现毛刺。这种情况在共享总线架构中非常常见&#xff0c;而三态总线设计正是解…...

VGG‘文艺复兴’背后的思考:从RepVGG看AI模型设计的‘简’与‘繁’哲学

VGG式架构的当代启示&#xff1a;当模型设计遇见"大道至简"的智慧 在深度学习模型架构的演进历程中&#xff0c;我们见证了一场耐人寻味的"轮回"——从早期VGG的极简主义&#xff0c;到Inception、ResNet等复杂多分支结构的盛行&#xff0c;再到如今RepVGG…...

OpenClaw跨平台对比:nanobot在Mac/Win/Linux的表现差异

OpenClaw跨平台对比&#xff1a;nanobot在Mac/Win/Linux的表现差异 1. 测试背景与实验设计 去年夏天我开始尝试用OpenClaw搭建个人自动化工作流时&#xff0c;发现不同操作系统下的表现差异远超预期。这次我选择了基于Qwen3-4B模型的nanobot镜像&#xff0c;在MacBook Pro M1…...

爱毕业aibye智能改写工具推荐五个方法,30%重复率的论文快速达标不是问题

嘿&#xff0c;大家好&#xff01;我是AI菌。今天咱们来聊聊一个让无数学生头疼的问题&#xff1a;论文重复率飙到30%以上怎么办&#xff1f;别慌&#xff0c;我这就分享5个实用降重技巧&#xff0c;帮你一次搞定&#xff0c;轻松压到合格线以下。这些方法都是我亲身试验过的&a…...