• Linux应用程序下网络栈参数的简单整理


    somaxconn


    • 该参数应该是决定一个服务能够同时处理多少个网络请求的核心参数.
    • 一个程序能够支持多少个访问参数,是有两部分来决定, 第一部分是somaxconn ,第二部分是应用服务器启动时传递过来的backlog参数.比如nginx貌似就传递 511个backlog的参数过来. tomcat默认的参数数量是100个.
    • 实际上应用服务器的最终参数是由min(somaxconn,应用服务器的backlog) 的较小的值来决定的
      例如:
     
    [root@centos76oracle19c ~]# ss -lnt
    State       Recv-Q Send-Q                                                                                                          Local Address:Port                                                                                                                         Peer Address:Port              
    LISTEN      0      128                                                                                                                 127.0.0.1:6379                                                                                                                                    *:*                  
    LISTEN      0      128                                                                                                                         *:111                                                                                                                                     *:*                  
    LISTEN      0      128                                                                                                                         *:80                                                                                                                                      *:*                  
    LISTEN      0      128                                                                                                                         *:6000                                                                                                                                    *:*                  
    LISTEN      0      5                                                                                                               192.168.122.1:53                                                                                                                                      *:*                  
    LISTEN      0      128                                                                                                                         *:22                                                                                                                                      *:*                  
    LISTEN      0      128                                                                                                                 127.0.0.1:631                                                                                                                                     *:*                  
    LISTEN      0      100                                                                                                                 127.0.0.1:25                                                                                                                                      *:*                  
    LISTEN      0      128                                                                                                                         *:443                                                                                                                                     *:*                                                                                     :::*                  
    LISTEN      0      128                                                                                                                        :::111                                                                                                                                    :::*                  
    LISTEN      1      100                                                                                                                        :::5200                                                                                                                                   :::*             
    
    • 明显可以看到 5200 端口 java访问的数据是 100个 nginx的是 128个
    • 查看 somaxcon的参数
    [root@centos76oracle19c proc]# cat /proc/sys/net/core/somaxconn 
    128
    

    修改参数的办法

    1. 临时修改 echo 2048 > /proc/sys/net/core/somaxconn
    2. 用旧修改 vim /etc/sysctl.conf
    添加内容
    net.core.somaxconn=2028
    然后执行 sysctl -p 使之生效.
    

    实际上可以使用 如下参数来修改 连接的backlog的数目

    server:
      port: 5200
      tomcat:
        maxThreads: 1000
        acceptCount: 10000
    

    查看结果为:

    [root@centos7ver2009 ~]# ss -lnt |grep 5200
    LISTEN     0      2048      [::]:5200                  [::]:*   
    
    • 注意 因为我backlog 是限制到了 2048 所以会这样,如果我讲 2048 扩大十倍结果就会是10000了 因为他要取两者中较少的值.

    tcp_max_syn_backlog


    • 一般说法里面 socket max connection 的参数值来决定全连接, 也就是可以服务器可以提供服务的链接数目
    • tcp_max_syn_backlog 的参数才是决定有多少个连接可以进入等待简历established 长久连接的连接数目
    • 与之对应的tomcat 里面也有一个 accept-count 的参数也是来绝对等待连接的数目的.
    修改方法类似:
    1. 临时修改 echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog
    2. 持久修改 vim /etc/sysctl.conf
    net.ipv4.tcp_max_syn_backlog=2048
    

    time wait 参数等.


    • 改天再总结 书还没看..
  • 相关阅读:
    2013腾讯编程马拉松初赛第〇场(3月20日)湫湫系列故事——植树节 HDOJ 4503
    组合模式(Composite)
    Git Push 避免用户名和密码方法
    [Yii2] 快速套模板,加载JS,CSS(HTML标签<base>)
    phpstorm 2016.2.x 最新版激活方法
    PHP实现四种基本排序算法
    linux下查看负载均衡的两种方法
    Redis各类型应用场景
    HTTP协议2:请求、响应、缓存 2017-03-16 11:20 197人阅读 评论(0) 收藏
    HTTP协议1:工作原理 2017-03-16 11:18 39人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/15204054.html
Copyright © 2020-2023  润新知