| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux内核参数net.ipv4.ip_local_port_range对服务器连接数影响的正确解释 -> 正文阅读 |
|
[系统运维]Linux内核参数net.ipv4.ip_local_port_range对服务器连接数影响的正确解释 |
首先明确一下该参数的意义:net.ipv4.ip_local_port_range表示本机作为客户端对外发起tcp/udp连接时所能使用的临时端口范围。 对于TCP连接,本机所能发起的tcp连接数受四元组(源地址*源端口*目标地址*目标端口)限制。 而对于UDP连接,本机所能发起的udp连接数则受二元组(源地址*源端口)限制。(此处借用二元组的概念,并不表示udp套接字的二元组标识)。 一个实际生产场景举例我们知道,在使用nginx作反向代理服务器时,会作为客户端向后端负载发起连接,在不考虑最大打开文件数和其他配置影响的情况下: 作为TCP反向代理服务器:本机IP为192.168.1.1,后端负载为tcp:192.168.1.2:80、tcp:192.168.1.2:80,net.ipv4.ip_local_port_range为40000-59999(即临时可用端口数为20000),那么Nginx所能维持的最大长连接数为1*20000*2*1=40000 作为UDP反向代理服务器:本机IP为192.168.1.1,后端负载为udp:192.168.1.2:80、udp:192.168.1.2:80,net.ipv4.ip_local_port_range为40000-59999(即临时可用端口数为20000),那么Nginx所能维持的最大长连接数为1*20000=20000 如何突破端口数对Nginx连接数造成的限制如果是tcp连接,根据公式:源地址*源端口*目标地址*目标端口,只需要简单的增加后端负载的数量即可。 如果是udp连接,根据公式:源地址*源端口,那么增加后端负载的数量是无意义的,可行的办法为增加源地址数量,即采用增加网卡或虚地址的方式提高可用源地址的数量,可以参考:https://www.nginx.com/blog/overcoming-ephemeral-port-exhaustion-nginx-plus/ |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 17:35:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |