Linux下高并发socket最大连接数所受的限制问题

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  内核参数sysctl.conf的优化

  /etc/sysctl.conf 是用来控制linux网络的配置文件,对于依赖网络的程序(如web服务器和cache服务器)非常重要,RHEL默认提供的最好调整。

  推荐配置(把原/etc/sysctl.conf内容清掉,把下面内容复制进去):

  net.ipv4.ip_local_port_range = 1024 65536

  net.core.rmem_max=16777216

  net.core.wmem_max=16777216

  net.ipv4.tcp_rmem=4096 87380 16777216

  net.ipv4.tcp_wmem=4096 65536 16777216

  net.ipv4.tcp_fin_timeout = 10

  net.ipv4.tcp_tw_recycle = 1

  net.ipv4.tcp_timestamps = 0

  net.ipv4.tcp_window_scaling = 0

  net.ipv4.tcp_sack = 0

  net.core.netdev_max_backlog = 30000

  net.ipv4.tcp_no_metrics_save=1

  net.core.somaxconn = 262144

  net.ipv4.tcp_syncookies = 0

  net.ipv4.tcp_max_orphans = 262144

  net.ipv4.tcp_max_syn_backlog = 262144

  net.ipv4.tcp_synack_retries = 2

  net.ipv4.tcp_syn_retries = 2

  这个配置参考于cache服务器varnish的推荐配置和SunOne服务器系统优化的推荐配置。

  不过varnish推荐的配置是有问题的,实际运行表明”net.ipv4.tcp_fin_timeout = 3″的配置会导致页面经常打不开;并且当网友使用的是IE6浏览器时,访问网站一段时间后,所有网页都会打不开,重启浏览器后正常。可能是国外的网速快吧,我们国情决定需要调整”net.ipv4.tcp_fin_timeout = 10″,在10s的情况下,一切正常(实际运行结论)。

  修改完毕后,执行:

  /sbin/sysctl -p /etc/sysctl.conf

  /sbin/sysctl -w net.ipv4.route.flush=1

  命令生效。为了保险起见,也可以reboot系统。

  调整文件数:

  linux系统优化完网络必须调高系统允许打开的文件数才能支持大的并发,默认1024是远远不够的。

  执行命令:

  Shell代码

  echo ulimit -HSn 65536 》 /etc/rc.local

  echo ulimit -HSn 65536 》/root/.bash_profile

  ulimit -HSn 65536

[1][2]

我提着行李,独自一人向远方走去,夕阳将我的身影拉得斜长,

Linux下高并发socket最大连接数所受的限制问题

相关文章:

你感兴趣的文章:

标签云: