Chinaunix首页 | 论坛 | 博客
  • 博客访问: 354925
  • 博文数量: 51
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1189
  • 用 户 组: 普通用户
  • 注册时间: 2014-02-14 15:23
文章分类
文章存档

2017年(4)

2016年(7)

2015年(9)

2014年(31)

我的朋友

分类: 系统运维

2014-05-07 21:09:50

Tcp最大连接数只有28222个的解决方案

问题背景:

Tsung模拟压力测试时,将ulimit -n的值调为65535,想建立6万多个tcp连接,但最终只观察到28222个。

原因分析:

这是因为Linux默认的端口范围不是0~65535,而是32768~61000。可用以下命令验证

[root@tixa ~]# sysctl -a | grep ip_local_port_range

net.ipv4.ip_local_port_range = 32768     61000

61000-32768=28232个。其他的地方用去10个,所以观察到的是28222个。

解决方案:

修改/etc/sysctl.conf文件,在文件中添加如下行:

net.ipv4.ip_local_port_range = 1024 65535

这表明将系统对本地端口范围限制设置为1024~65535之间。请注意,本地端口范围的最小值必须大于或等于1024;而端口范围的最大值则应小于或等于65535。修改完后保存此文件。

接着执行sysctl -p命令,如果系统没有错误提示,就表明新的本地端口范围设置成功。这样,理论上单独一个进程最多可以同时建立60000多个TCP客户端连接。

验证一下:

[root@tixa ~]# sysctl -a | grep ip_local_port_range

net.ipv4.ip_local_port_range = 1024     65535

最后再运行一下tsung start,果然观察到了60000多个tcp连接。

阅读(3548) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~