zoukankan      html  css  js  c++  java
  • linux tcp性能参数【yetdone】

    https://mp.weixin.qq.com/s?srcid=1229Fiezd1SFYmCWtSJthQix&scene=23&sharer_sharetime=1577585166978&mid=2454934092&sharer_shareid=7cca4206c9bd967418f46841199ec4ee&sn=5e426a0a2d29933069eb518b740977a8&idx=1&__biz=MzA5NTUzNTA2Mw%3D%3D&chksm=871a18f4b06d91e2ad11bf0671992d7c221d892a11fcace15f93aab810c7773dd8d9669fa59c&mpshare=1#rd

    【文件】

    fs.file-max = 999999:这个参数表示进程(比如一个worker进程)可以同时打开的最大句柄数,这个参数直线限制最大并发连接数,需根据实际情况配置。这个地方有一个错误,这个参数是系统级非用户级文件描述符限制

    使用ulimit -a 可以查看当前系统(用户进程)的所有限制值,使用ulimit -n 可以查看当前的最大打开文件数。新装的linux 默认只有1024 ,当作负载较大的服务器时,很容易遇到error: too many open files。因此,需要将其改大,在/etc/security/limits.conf最后增加

    21-b并发tcp连接数与文件描述符

    23文件描述符耗尽(二)linux【本地】

    【time_wait】
    net.ipv4.tcp_max_tw_buckets = 6000 :这个参数表示操作系统允许TIME_WAIT套接字数量的最大值,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。该参数默认为180000,过多的TIME_WAIT套接字会使Web服务器变慢。注:主动关闭连接的服务端会产生TIME_WAIT状态的连接
    net.ipv4.tcp_tw_recycle = 1 :启用timewait快速回收。默认0
    net.ipv4.tcp_tw_reuse = 1 :开启重用。默认0.允许将TIME-WAIT sockets重新用于新的TCP连接。这对于服务器来说很有意义,因为服务器上总会有大量TIME-WAIT状态的连接。17tcp close端口占用 & setReuseAddress 【本地】 不仅time_wait 还有fin_wait2

    net.ipv4.tcp_syncookies = 1 :开启SYN Cookies,当出现SYN等待队列溢出时,启用cookies来处理。

    net.ipv4.tcp_max_syn_backlog = 262144 :这个参数标示TCP三次握手建立阶段接受SYN请求队列的最大长度,默认为1024,将其设置得大一些可以使出现Nginx繁忙来不及accept新连接的情况时,Linux不至于丢失客户端发起的连接请求。

    net.ipv4.tcp_fin_timeout 修改默认超时时间,注意是fin_wait_2的时间,不像Windows 可以修改注册表修改2MSL 的值,linux 需要修改内核宏定义重新编译,tcp_fin_timeout 不是2MSL 而是Fin-WAIT-2状态超时时间

    net.ipv4.ip_local_port_range = 1024 65000 :允许系统打开的端口范围。

    net.ipv4.tcp_timestamps 默认开启,支持PAWS

    21-ahttpclient 与TIME_WAIT 客户端close与服务端close


    net.ipv4.tcp_keepalive_time = 30:这个参数表示当keepalive启用时,TCP发送keepalive消息的频度。默认是2小时,若将其设置的小一些,可以更快地清理无效的连接。


    【BUF】
    net.ipv4.tcp_rmem = 10240 87380 12582912 :这个参数定义了TCP接受缓存(用于TCP接受滑动窗口)的最小值、默认值、最大值。
    net.ipv4.tcp_wmem = 10240 87380 12582912:这个参数定义了TCP发送缓存(用于TCP发送滑动窗口)的最小值、默认值、最大值。
    net.core.rmem_default = 6291456:这个参数表示内核套接字接受缓存区默认的大小。
    net.core.wmem_default = 6291456:这个参数表示内核套接字发送缓存区默认的大小。
    net.core.rmem_max = 12582912:这个参数表示内核套接字接受缓存区的最大大小。
    net.core.wmem_max = 12582912:这个参数表示内核套接字发送缓存区的最大大小。
    10tcp缓冲区大小设置

    https://www.cnblogs.com/lxwphp/p/11237052.html

  • 相关阅读:
    洛谷P1057传球游戏(逆向递推递归+记忆化)
    洛谷P1433吃奶酪(正向暴力递归,回溯更新)
    洛谷P1434滑雪(逆向图的遍历搜索递归+记忆化,最长路问题)
    洛谷P1192台阶问题(逆向递推递归dfs+记忆化)
    洛谷p1025数的划分(正向暴力递归,数学排列与组合问题)
    洛谷P1141 01迷宫(图的遍历搜素递归dfs或bfs,连痛块回溯更新问题,记忆化或者并查集根结点)
    Git 版本更新--Windows
    plop-templates自动新建项目文件
    前端-随机生成测试数据-mockjs
    cookie、seseionStorage、localStorage的区别
  • 原文地址:https://www.cnblogs.com/silyvin/p/12115959.html
Copyright © 2011-2022 走看看