Linux 시스템에서 최대 TCP 연결 수 및 UDP 수를 수정하기 위한 방법 및 전제 조건

王林
풀어 주다: 2024-07-16 14:25:32
원래의
672명이 탐색했습니다.

修改 Linux 系统最大 TCP 连接和 UDP 数限制的方法与前提

Linux 시스템의 최대 TCP 연결 수 및 UDP 제한 변경

전제 조건: 루트 권한이 있어야 합니다

시스템의 기본 구성은 일상적인 사용에 충분하며, 동시성 네트워크 프로그래밍을 수행할 때 연결 수가 초과되면 최대 열린 파일 수를 초과하면 오류가 보고되고 새 연결은 불가능합니다. 생성되었습니다(최대 프로세스 수를 초과했습니다). 리소스 할당 오류

1. 최대 사용자 프로세스 수와 최대 파일 수를 제한하는 ulimit의 역할을 수정합니다

ulimit: 중국 리눅스 운영체제 리눅스 공간에서 사용자가 사용할 수 있는 리소스의 제한(제한)을 표시(또는 설정)합니다. 이 제한은 소프트 제한(현재 제한)과 하드 제한(상한)으로 구분됩니다. 하드 제한은 소프트 제한의 ​​상한이며 작업 중에 애플리케이션이 사용하는 시스템 리소스는 해당 소프트 제한을 초과하지 않으며 따라잡으면 프로세스가 종료됩니다.

으아악

최대 스레드 수 및 최대 파일 제한 수 변경

으아악

그 중:

최대 열린 파일 수 제한의 경우 이전 매개변수만 수정하면 됩니다. Linux TCP 연결 수 제한, 그러나 최대 사용자 스레드 수 제한의 경우 매개변수도 변경해야 합니다. 다양한 시스템에 따른 파일 따라가기

linux tcp连接数限制_限制连接数有什么用_限制连接数量多少合适

centos7 시스템에서 작동

centos7 시스템에서는 ulimit 아래의 nproc 값은 /etc/security/limits.d/20-nproc.conf를 통해 제어됩니다

으아악

제한 값을 늘리려면 /etc/security/limits.d/20-nproc.conf 파일을 편집해야 합니다

限制连接数有什么用_限制连接数量多少合适_linux tcp连接数限制

2. 이 사용자에 대한 시스템 리소스 제한을 설정하세요

/etc/pam.d/login 파일에 다음 콘텐츠를 추가하세요.

으아악

이것은 사용자가 시스템 로그인을 완료한 후 pam_limits.so 모듈을 호출하여 사용자가 사용할 수 있는 다양한 리소스 수에 대한 시스템의 최대 제한을 설정해야 함을 Linux에 알려줍니다(사용자가 사용할 수 있는 최대 파일 수에 대한 제한 포함). 사용자가 열 수 있음), pam_limits.so 모듈은 /etc/security/limits.conf 파일에서 구성을 읽어 이 제한 값을 설정합니다. 변경 후 이 파일을 저장하세요.

限制连接数量多少合适_linux tcp连接数限制_限制连接数有什么用

3. TCP/UDP 연결에 대한 네트워크 커널 제한 수정

고동시성 TCP 연결을 지원하는 Linux에서 클라이언트 통신 핸들러를 작성할 때 시스템이 사용자가 동시에 열 수 있는 파일 수에 대한 제한을 높였음에도 불구하고 파일 수를 초과하면 여전히 문제가 발생하는 경우가 있습니다. 동시 TCP 연결이 특정 수로 감소합니다. 또한 새 TCP 연결을 성공적으로 설정하지 못합니다.

Linux内核编译时默认设置的本地端标语范围可能太小,因而须要更改此本地端口范围限制。

内核参数的优化

限制连接数量多少合适_linux tcp连接数限制_限制连接数有什么用

更改/etc/sysctl.conf文件,/etc/sysctl.conf是拿来控制linux网路的配置文件,对于依赖网路的程序(如web服务器和cache服务器)十分重要

-<span class="token operator">></span> <span class="token function">sudo</span> vim /etc/sysctl.conf 
<span class="token comment"># 将原内容批注并写入如下内容</span>
net.ipv4.ip_local_port_range <span class="token operator">=</span> 1024 65535
net.core.rmem_max <span class="token operator">=</span> 16777216
net.core.wmem_max <span class="token operator">=</span> 16777216
net.ipv4.tcp_rmem <span class="token operator">=</span> 4096 87380 16777216
net.ipv4.tcp_wmem <span class="token operator">=</span> 4096 65536 16777216
net.ipv4.tcp_fin_timeout <span class="token operator">=</span> 10
net.ipv4.tcp_tw_recycle <span class="token operator">=</span> 1
net.ipv4.tcp_timestamps <span class="token operator">=</span> 0
net.ipv4.tcp_window_scaling <span class="token operator">=</span> 0
net.ipv4.tcp_sack <span class="token operator">=</span> 0
net.core.netdev_max_backlog <span class="token operator">=</span> 30000
net.ipv4.tcp_no_metrics_save <span class="token operator">=</span> 1
net.core.somaxconn <span class="token operator">=</span> 10240
net.ipv4.tcp_syncookies <span class="token operator">=</span> 0
net.ipv4.tcp_max_orphans <span class="token operator">=</span> 262144
net.ipv4.tcp_max_syn_backlog <span class="token operator">=</span> 262144
net.ipv4.tcp_synack_retries <span class="token operator">=</span> 2
net.ipv4.tcp_syn_retries <span class="token operator">=</span> 2
로그인 후 복사

更改完之后执行:

sysctl -p /etc/sysctl.conf
로그인 후 복사

sysctl -w net.ipv4.route.flush<span class="token operator">=</span>1
로그인 후 복사

致使配置生效(亲测对TCP和UDP都适用)

至此操作完成。假如没有生效linux tcp连接数限制,这么就reboot。

위 내용은 Linux 시스템에서 최대 TCP 연결 수 및 UDP 수를 수정하기 위한 방법 및 전제 조건의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:itcool.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿