首页 > Linux系统管理 > linux性能调优ip_local_port_range
2015
07-31

linux性能调优ip_local_port_range

ip_local_port_range的英文解释是:
 
The /proc/sys/net/ipv4/ip_local_port_range defines the local port range that is used by TCP and UDP traffic to choose the local port. You will see in the parameters of this file two numbers: The first number is the first local port allowed for TCP and UDP traffic on the server, the second is the last local port number. For high-usage systems you may change its default parameters to 32768-61000 -first-last.
 
中文的解释网上几乎没有,大部分都是复制粘贴。我来根据自己的理解讲下这个参数的含义。
 
linux内核参数ip_local_port_range是用来指定TCP或UDP连接时本地端口范围的。这只是字面上的意思。我看到这个参数就有几个疑问?
 
问题1:服务器高性能调优需要指定本地端口范围吗?一般不是都监听了80或者其他固定端口吗?
要搞清楚这个问题,首先要明白,这个本地端口不是TCP连接中的服务端端口,而是客户端端口。通常客户端端口都是随机分配的。这个参数就是指定这个随机的范围。
 
问题2:服务端扩大本地端口范围有什么用?
扩大本地端口范围显然是要扩大本地能主动发起的连接数。问题是服务器都是被动接受连接的,要这个干吗?
 
通常情况下,单纯的静态web服务器不需要指定这个参数,但是如果有数据库,web前端服务器要连接后端的数据库,高并发时,web服务器作为客户端,发起基于TCP协议(通常不是http协议)的连接,必然要大量访问数据库,所以要扩大范围。
 
另外对于RAC数据库集群和mysql-cluster集群,数据库服务器也要指定这个参数。因为集群中的数据库也会不断的访问其他数据库。
最后编辑:
作者:saunix
大型互联网公司linux系统运维攻城狮,专门担当消防员

留下一个回复