• linux服务器TCP并发连接数优化


    1、查看用户单一进程最大文件打开数

    [root@localhost ~]# ulimit -n
    1024

    2、修改/etc/security/limits.conf文件,添加下面两行,

    [root@localhost ~]# vim /etc/security/limits.conf
    * soft nofile 20480      #前面的*表示对所有用户生效,如果只想对单一用户修改则把*改成对应用户即可
    * hard nofile 20480      #soft和hard分别表示软限制和硬限制,软限制必须小于或等于硬限制
    修改保存后新开窗口再执行ulimit -n就能看到修改生效了,如果没生效则修改/etc/pam.d/login文件,在文件中添加如下行
    
    [root@localhost ~]# vim /etc/pam.d/login
    session required /lib/security/pam_limits.so
    还有一种修改方法,就是在/etc/profile文件中添加ulimit -n 65535

    注:centos 6.X以后新增了一个/etc/security/limits.d/90-nproc.conf 文件,用于控制nproc 。这里面的默认配置是
    *          soft    nproc     1024
    root       soft    nproc     unlimited
    1024大小显然对运行程序的用户来说,太少了点。更改为65535即可

    3、查看系统的最大文件打开数,这是所有用户能打开文件数的总和,也就是说上面对单一用户允许的最大文件打开数不能大于这个值。

    [root@localhost ~]# cat /proc/sys/fs/file-max
    97901
    如果想修改的话,虽然不建议修改,可执行下面语句
    
    echo 1620582 > /proc/sys/fs/file-max
    如果没生效可以查看/etc/profile文件中是否添加了ulimit-n,注释掉即可。
    

    4、修改端口限制
    当客户端socket连接过来时服务端会开个临时的端口进行通信,linux内核对本地端口号范围有限制,可用下面命令查看

    [root@localhost ~]# cat /proc/sys/net/ipv4/ip_local_port_range
    32768   61000

    优化建议:

    [root@localhost ~]# vim /etc/sysctl.conf      #修改/etc/sysctl.conf文件,在文件中添加如下行
    net.ipv4.ip_local_port_range = 1024 65535
    [root@localhost ~]# sysctl -p                 #使修改立即生效,如果没有报错就说明成功了
    net.ipv4.ip_forward = 0
    net.ipv4.conf.default.rp_filter = 1
    net.ipv4.conf.default.accept_source_route = 0
    kernel.sysrq = 0
    kernel.core_uses_pid = 1
    net.ipv4.tcp_syncookies = 1
    net.ipv4.ip_local_port_range = 1024 65535
    error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
    error: "net.bridge.bridge-nf-call-iptables" is an unknown key
    error: "net.bridge.bridge-nf-call-arptables" is an unknown key
    kernel.msgmnb = 65536
    kernel.msgmax = 65536
    kernel.shmmax = 68719476736
    kernel.shmall = 4294967296
    [root@localhost ~]# cat /proc/sys/net/ipv4/ip_local_port_range
    1024    65535

    参考博客:http://blog.sina.com.cn/s/blog_6f5b22060101362c.html

  • 相关阅读:
    在非controller中获取HttpServletRequest (如在service中获取)
    office 转 html html 转 office
    firewalld的操作
    centos7 安装jdk,mysql,nginx,redis,zookeeper,activemq
    nginx
    学习网站
    Centos7安装搜狗输入法
    “星期几”不同脚本写法
    正则表达式 exec 获取字符串中的汉字
    js和jquery获取父级元素、子级元素、兄弟元素的方法
  • 原文地址:https://www.cnblogs.com/dengtr/p/5288447.html
Copyright © 2020-2023  润新知