热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

09Linux下TCP连接数调优设置

最近在压测TCP长连接其中遇到了一些问题:1、TCP长连接大家知道在建立连接的过程中是一个标准的三次握手协议,而在进行整个握手协议的过程中客户端发出的

最近在压测TCP长连接其中遇到了一些问题:

1、TCP长连接大家知道在建立连接的过程中是一个标准的三次握手协议,而在进行整个握手协议的过程中客户端发出的请求会经过两个状态①、半连接状态 ②、全连接状态 我们可以通过三次握手协议的示意图来进一步了解这两个状态队列。

  • 半连接和全连接指标可以通过命令查询:
  • 半连接上限指标:cat /proc/sys/net/ipv4/tcp_max_syn_backlog
  • 全连接上限指标:cat /proc/sys/net/core/somaxconn
  • 其中还有一个参数:net.ipv4.ip_local_port_range = 10000 65535 ipv4可以使用的端口范围
  • 修改的时候注意切换用户为root用户
    在这里插入图片描述
    修改完之后执行命令:/sbin/sysctl -p 刷新一下文件生效

2、由于要建立大量连接,再linux的/etc/sysctl.conf 文件中有几个有关TCP长连接的参数如: - net.ipv4.tcp_tw_reuse = 1表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭; - net.ipv4.tcp_tw_recycle = 1表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。 - 修改完毕之后,需要执行命令: sysctl -p 使参数生效。

3、当进行TCP连接压测的时候被压测的服务端(博主压测的时候场景为:客户端-Netty内核-服务端)主要是客户端-内核创建连接的过程当两台客户端施加压力进行测试的时候发现连接数达到6w左右的时候Netty服务日志出现了报错:“too many open files (Socket creation faild)”此时修改了一下linux内核相关配置:

突破局部文件句柄限制

①、先查看一下单个进程能够支持的最大句柄数:ulimit -n 一般默认的大小1024
②、修改该参数:vi /etc/security/limits.conf 编辑这个文件
修改文件中参数:没有增加有了修改

  • *hard nofile 1000000
  • *soft nofile 1000000
  • 其中*代表当前用户 root代表系统用户
  • hard 和soft代表限制和告警限制,当配置完之后可能还会存在限制,需要再看一下全局文件句柄
    在这里插入图片描述

突破全局文件句柄限制

①、通过这个命令查看全局文件句柄限制 cat /proc/sys/fs/file-max 注意:局部文件句柄限制不能超过全局文件句柄数的
②、需要修改的话,切换到root用户,编辑文件vi /etc/sysctl.conf 在文件的末尾加上 fs.file-max=1000000
在这里插入图片描述
参考连接:单机连接调优


推荐阅读
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 检查 Kubernetes 系统命名空间中的 Pod 状态时,发现 Metric Server Pod 虽然处于运行状态,但存在异常:日志显示 'it doesn’t contain any IP SANs'。 ... [详细]
  • 本文介绍如何使用命令行工具查看和解析 iOS 应用崩溃日志,包括 UUID 和错误代码位置的详细步骤。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • poj 3352 Road Construction ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用
    深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用 ... [详细]
  • 深入解析零拷贝技术(Zerocopy)及其应用优势
    零拷贝技术(Zero-copy)是Netty框架中的一个关键特性,其核心在于减少数据在操作系统内核与用户空间之间的传输次数。通过避免不必要的内存复制操作,零拷贝显著提高了数据传输的效率和性能。本文将深入探讨零拷贝的工作原理及其在实际应用中的优势,包括降低CPU负载、减少内存带宽消耗以及提高系统吞吐量等方面。 ... [详细]
  • 深入解析十大经典排序算法:动画演示、原理分析与代码实现
    本文深入探讨了十种经典的排序算法,不仅通过动画直观展示了每种算法的运行过程,还详细解析了其背后的原理与机制,并提供了相应的代码实现,帮助读者全面理解和掌握这些算法的核心要点。 ... [详细]
  • packagecom.pt.utils;importio.netty.bootstrap.Bootstrap;importio.netty.channel.ChannelFuture;imp ... [详细]
  • 本文详细介绍了如何在PHP中记录和管理行为日志,包括ThinkPHP框架中的日志记录方法、日志的用途、实现原理以及相关配置。 ... [详细]
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
author-avatar
窝大华_221
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有