精华内容
下载资源
问答
  • 转载于:https://www.cnblogs.com/fanweisheng/p/11316216.html

     

    转载于:https://www.cnblogs.com/fanweisheng/p/11316216.html

    展开全文
  • linux tcp/udp参数调优

    2021-03-24 11:45:12
    文章目录1 TCP窗口及缓冲区调整 1 TCP窗口及缓冲区调整 echo 26214400 >...echo 26214400 >...echo 1 >...所有的TCP/IP调优参数都位于/proc/... 例如, 下面是最重要的一些调优参数, 后面是它们的含义: /proc/sys/net/c

    1 TCP窗口及缓冲区调整

    echo 26214400 > /proc/sys/net/core/rmem_max
    echo 26214400 > /proc/sys/net/core/wmem_max
    echo 1 > /proc/sys/net/ipv4/tcp_window_scaling

    所有的TCP/IP调优参数都位于/proc/sys/net/目录. 例如, 下面是最重要的一些调优参数, 后面是它们的含义:

    1. /proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲
    2. /proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲
    3. /proc/sys/net/ipv4/tcp_timestamps — 时间戳在(请参考RFC 1323)TCP的包头增加12个字节
    4. /proc/sys/net/ipv4/tcp_sack — 有选择的应答
    5. /proc/sys/net/ipv4/tcp_window_scaling — 支持更大的TCP窗口. 如果TCP窗口最大超过65535(64K), 必须设置该数值为1
    6. rmem_default — 默认的接收窗口大小
    7. rmem_max — 接收窗口的最大大小
    8. wmem_default — 默认的发送窗口大小
    9. wmem_max — 发送窗口的最大大小
    展开全文
  • linux性能调优工具

    2019-02-19 22:39:04
    一、性能调优 性能调优是指为软件提供较佳的性能,用于处理系统响应速度太慢等。 linux man http://www.man7.org/linux/man-pages/man8 二、性能调优维度 cpu 内存 io network 三、工具 安装...

    一、性能调优

    性能调优是指为软件提供较佳的性能,用于处理系统响应速度太慢等。

    linux man http://www.man7.org/linux/man-pages/man8

    二、性能调优维度

    1. cpu
    2. 内存
    3. io
    4. network

    三、工具

    安装sysstat:

    yum install sysstat -y
    

    1. cpu

    top

    命令帮助:http://man7.org/linux/man-pages/man1/top.1.html
    在这里插入图片描述
    m 按内存排序显示
    shfit + H 显示cpu占有从高到底排序

    vmstat

    vmstat centOS7自带
    http://www.man7.org/linux/man-pages/man8/vmstat.8.html

    在这里插入图片描述

    2. 内存

    free

    在这里插入图片描述

    3. io

    iostat

    iostat命令包含在sysstat包中

    yum install sysstat -y
    

    iostat
    在这里插入图片描述

    4. network

    nicstat:网络流量监控利器
    nicstat 下载http://sourceforge.net/projects/nicstat

    安装nicstat

    使用wget http://sourceforge.net/projects/nicstat/files/nicstat-1.92.tar.gz 安装成功
    nicstat-1.92.tar.gz 安装

    wget http://sourceforge.net/projects/nicstat/files/nicstat-1.92.tar.gz ‘’
    tar -zxvf nicstat-1.95.tar.gz
    #找到这行 CFLAGS =       $(COPT) -m32 删除-m32 
    #修改为 CFLAGS =       $(COPT)
    # make 安装 yum install make -y
    mv Makefile.Linux Makefile
    make
    make install
    

    在这里插入图片描述

    nicstat-1.95.tar.gz 安装

    wget http://sourceforge.net/projects/nicstat/files/nicstat-1.95.tar.gz ‘’
    
    tar -zxvf nicstat-1.95.tar.gz
    # CFLAGS =       $(COPT) $(CMODEL) 找到这行删除$(CMODEL) 修改为 CFLAGS =       $(COPT)
    # make 依赖gcc
    sudo make -f Makefile.Linux install
    

    或者改为默认的Makefile
    Makefile.Linux Makefile
    sudo make install

    gcc -m32选项
    gcc提供了编译选项可以为指定架构生成汇编代码,
    比如 linux下
    -m32 生成32位机器的汇编代码;
    -m64则生成64位机器汇编代码;
    由于64位机器的寄存器比32位机器多很多,所以GCC编译器会尽量使用寄存器来传递参数,而不是32位机器下的压栈。

    其他工具

    iftop

    lsof查看进程
    需要安装 yum install lsof -y
    使用lsof 命令来找到运行在该端口的进程
    lsof -i:22

    CentOS 7上的性能监控工具

    Linux中基于命令行的性能监控工具:dstat、top、netstat、vmstat、htop、ss、glances

    CentOS 7上的性能监控工具
    Linux中基于命令行的性能监控工具:dstat、top、netstat、vmstat、htop、ss、glances https://www.cnblogs.com/daxiongblog/p/5996661.html

    dstat

    该命令整合了vmstat,iostat和ifstat三种命令。同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能够使你对比和整合不同的资源使用情况。通过不同颜色和区块

    布局的界面帮助你能够更加清晰容易的获取信息。它也支持将信息数据导出到cvs格式文件中,从而用其他应用程序打开,或者导入到数据库中。你可以用该命令来监控cpu,内存和网络状态随着

    时间的变化。

    简介:
    dstat - versatile tool for generating system resource statistics
    格式:
    dstat [-afv] [options…] [delay [count]]
    选项:
    -c: 显示cpu相关信息
    -C #,#,…,total
    -d: 显示disk相关信息
    -D total,sda,sdb,…
    -g:显示page相关统计数据
    -m: 显示memory相关统计数据
    -n: 显示network相关统计数据
    -p: 显示process相关统计数据
    -r: 显示io请求相关的统计数据
    -s: 显示swapped相关的统计数据
    –top-cpu:显示最占用CPU的进程
    –top-io: 显示最占用io的进程
    –top-mem: 显示最占用内存的进程
    –top-latency: 显示延迟最大的进程

    • -raw:显示裸套接字
    • -socket:套接字
    • -ipc:进程间通信信息

    实例1:显示cpu、进程、内存、io线程以及swap等相关信息

    	dstat -c -d -g -m -n -p -r -s
    

    在这里插入图片描述
    实例2:显示tcp、udp协议和raw和socket套接字以及进程间通信的信息

    实例3:显示系统中cpu和io线程以及内存使用的情况

    默认显示内容
    在这里插入图片描述

    CentOS7 安装系统监控软件 glances iftop htop

    CentOS7 安装系统监控软件 glances iftop htop

    glances

    yum install epel* -y

    yum install python-pip python-devel -y

    yum install glances -y

    $ glances
    

    在这里插入图片描述

    iftop

    网络
    #centos需要执行 yum install epel* -y之后才能安装
    yum install iftop -y

    在这里插入图片描述

    htop

    yum install htop -y
    

    在这里插入图片描述

    监控
    zabbix nagios prometheus cat

    展开全文
  • Linux内核调优

    2021-03-16 16:30:56
    Linux内核调优 一、内核参数说明 /proc/sys下内核文件与配置文件sysctl.conf中变量存在着对应关系。 配置说明: 内核参数 参数说明 net.inet.tcp.sendspace=65536 最大的待发送TCP数据缓冲区空间 ...

    Linux内核调优

    一、内核参数说明

    /proc/sys下内核文件与配置文件sysctl.conf中变量存在着对应关系。
    配置说明:

    内核参数 参数说明
    net.inet.tcp.sendspace=65536 最大的待发送TCP数据缓冲区空间
    net.inet.tcp.recvspace=65536 最大的接受TCP缓冲区空间
    net.inet.udp.sendspace=65535 最大的接受UDP缓冲区大小
    net.inet.udp.maxdgram=65535 最大的发送UDP数据缓冲区大小
    net.local.stream.sendspace=65535 本地套接字连接的数据发送空间
    net.inet.tcp.rfc1323=1
    net.inet.tcp.rfc1644=1
    net.inet.tcp.rfc3042=1
    net.inet.tcp.rfc3390=1 加快网络性能的协议
    kern.ipc.maxsockbuf=2097152 最大的套接字缓冲区
    kern.maxfiles=65536 系统中允许的最多文件数量
    kern.maxfilesperproc=32768 每个进程能够同时打开的最大文件数量
    net.inet.tcp.delayed_ack=0 当一台计算机发起TCP连接请求时,系统会回应ACK应答数据包。该选项设置是否延迟ACK应答数据包,把它和包含数据的数据包一起发送,在高速网络和低负载的情况下会略微提高性能,但在网络连接较差的时候,对方计算机得不到应答会持续发起连接请求,反而会降低性能。
    net.inet.icmp.drop_redirect=1
    net.inet.icmp.log_redirect=1
    net.inet.ip.redirect=0
    net.inet6.ip6.redirect=0 屏蔽ICMP重定向功能
    net.inet.icmp.bmcastecho=0
    net.inet.icmp.maskrepl=0 防止ICMP广播风暴
    net.inet.icmp.icmplim=100 限制系统发送ICMP速率
    net.inet.icmp.icmplim_output=0
    net.inet.tcp.drop_synfin=1 安全参数,编译内核时加了options TCP_DROP_SYNFIN才可以用。
    net.inet.tcp.always_keepalive=1 设置为1会帮助系统清除没有正常断开的TCP连接,这增加了一些网络带宽的使用,但是一些死掉的连接最终能被识别并清除。死的TCP连接是被拨号用户存取的系统的一个特别的问题,因为用户经常断开modem而不正确的关闭活动的连接
    net.inet.ip.intr_queue_maxlen=1000 若看到net.inet.ip.intr_queue_drops在增加,就要调大net.inet.ip.intr_queue_maxlen,net.inet.ip.intr_queue_drops为0时最好。
    net.inet.tcp.msl=7500 防止DOS攻击,默认为30000
    net.inet.tcp.blackhole=2 接收到一个已经关闭的端口发来的所有包,直接drop,如果设置为1则是只针对TCP包
    net.inet.udp.blackhole=1 接收到一个已经关闭的端口发来的所有UDP包直接drop
    net.inet.tcp.inflight.enable=1 为网络数据连接时提供缓冲
    net.inet.ip.fastforwarding=0 如果打开的话每个目标地址一次转发成功以后它的数据都将被记录进路由表和arp数据表,节约路由的计算时间,但会需要大量的内核内存空间来保存路由表。
    kern.polling.enable=1 kernel编译打开options POLLING功能,高负载情况下使用低负载不推荐SMP不能和polling一起用。
    kern.ipc.somaxconn=32768 并发连接数,默认为128,推荐在1024-4096之间,数字越大占用内存也越大。
    security.bsd.see_other_uids=0 禁止用户查看其他用户的进程
    kern.securelevel=0 设置kernel安全级别
    net.inet.tcp.log_in_vain=1 记录下任何TCP连接
    net.inet.udp.log_in_vain=1 记录下任何UDP连接
    net.inet.udp.checksum=1 防止不正确的udp包的攻击
    net.inet.tcp.syncookies=1 防止DOS攻击
    kern.ipc.shm_use_phys=1 仅为线程提供物理内存支持,需要256兆以上内存
    kern.ipc.shmmax=67108864 线程可使用的最大共享内存
    kern.ipc.shmall=32768 最大线程数量
    kern.coredump=0 程序崩溃时不记录
    net.local.stream.recvspace=65536
    net.local.dgram.maxdgram=16384
    net.local.dgram.recvspace=65536 lo本地数据流接收和发送空间
    net.inet.tcp.mssdflt=1460 数据包数据段大小,ADSL为1452。
    net.inet.tcp.inflight_enable=1 为网络数据连接时提供缓冲
    net.inet.tcp.minmss=1460 数据包数据段最小值,ADSL为1452
    net.inet.raw.maxdgram=65536 本地数据最大数量
    net.inet.raw.recvspace=65536 本地数据流接收空间
    net.inet.ip.fw.dyn_max=65535 ipfw防火墙动态规则数量,默认为4096,增大该值可以防止某些病毒发送大量TCP连接,导致不能建立正常连接
    net.inet.ipf.fr_tcpidletimeout=864000 设置ipf防火墙TCP连接空闲保留时间,默认8640000(120小时)
    net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
    net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
    net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
    net.ipv4.tcp_fin_timeout = 30 表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。
    net.ipv4.tcp_keepalive_time = 1200 表示当启用keepalive时,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
    net.ipv4.ip_local_port_range = 1024 65000 表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。
    net.ipv4.tcp_max_syn_backlog = 8192 表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
    net.ipv4.tcp_max_tw_buckets = 5000 表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。默认为180000,改为 5000。对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,但是对于Squid,效果却不大。此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。
    net.ipv4.tcp_timestamps 开启tcp时间戳

    二、常用内核参数参考值(需要根据系统配置进行调优)

    #最大socket写buffer,可参考的优化值:873200
    /proc/sys/net/core/wmem_max
    /proc/sys/net/core/rmem_max

    TCP写buffer,可参考的优化值: 8192 436600 873200
    /proc/sys/net/ipv4/tcp_wmem
    TCP读buffer,可参考的优化值: 32768 436600 873200
    /proc/sys/net/ipv4/tcp_rmem
    /proc/sys/net/ipv4/tcp_mem
    包含3个值,分别是:
    net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力.
    net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段.
    net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket.
    上述内存单位是页,而不是字节.可参考的优化值是:786432 1048576 1572864

    #进入包的最大设备队列.默认是300,对重负载服务器而言,该值太低,可调整到1000.
    /proc/sys/net/core/netdev_max_backlog

    #listen()的默认参数,挂起请求的最大数量.默认是128.对繁忙的服务器,增加该值有助于网络性能.可调整到256.
    /proc/sys/net/core/somaxconn

    socket buffer的最大初始化值,默认10K.
    $ /proc/sys/net/core/optmem_max

    进入SYN包的最大请求队列.默认1024.对重负载服务器,增加该值显然有好处.可调整到2048.
    $ /proc/sys/net/ipv4/tcp_max_syn_backlog

    TCP失败重传次数,默认值15,意味着重传15次才彻底放弃.可减少到5,以尽早释放内核资源.
    /proc/sys/net/ipv4/tcp_retries2

    这3个参数与TCP KeepAlive有关。
    /proc/sys/net/ipv4/tcp_keepalive_time
    /proc/sys/net/ipv4/tcp_keepalive_intvl
    /proc/sys/net/ipv4/tcp_keepalive_probes
    默认值是:
    tcp_keepalive_time = 7200 (单位:second)
    tcp_keepalive_probes = 9
    tcp_keepalive_intvl = 75 (单位:second)
    意思是如果某个TCP连接在idle 2个小时后,内核才发起probe.如果probe 9次(每次75秒)不成功,内核才彻底放弃,认为该连接已失效.对服务器而言,显然上述值太大. 可以调整到:
    /proc/sys/net/ipv4/tcp_keepalive_time 1800
    /proc/sys/net/ipv4/tcp_keepalive_intvl 30
    /proc/sys/net/ipv4/tcp_keepalive_probes 3

    指定端口范围的一个配置,默认是32768 61000,已够大.
    /proc/sys/net/ipv4/ip_local_port_range

    三、查看内核参数

    查看所有内核参数
    sysctl -a
    1
    查看特定内核参数
    cat /proc/sys/net/ipv4/icmp_echo_ignore_all
    1

    sysctl net.ipv4.tcp_syncookies
    1

    四、修改内核参数

    4.1 使用命令进行修改(当前有效,重启后无效)

    echo “1” > /proc/sys/net/ipv4/icmp_echo_ignore_all
    1

    sysctl -w net.ipv4.icmp_echo_ignore_all=1
    1
    说明:sysctl的参数名与等于文件路径去掉/proc/sys/,并且"/ “改成”."

    4.2 修改配置文件(永久生效)

    vim /etc/sysctl.conf
    添加:

    net.ipv4.icmp_echo_ignore_all=1
    让修改立即生效:

    sysctl -p 或 sysctl --system

    说明:这个命令会重新加载 /etc/sysctl.conf 的配置。
    sysctl --system与sysctl -p的区别在于:
    sysctl --system会重新加载以下所有配置文件的配置:

    /run/sysctl.d/.conf
    /etc/sysctl.d/
    .conf
    /usr/local/lib/sysctl.d/.conf
    /usr/lib/sysctl.d/
    .conf
    /lib/sysctl.d/*.conf
    /etc/sysctl.conf

    五、参数迁移

    1、保存当前主机所有配置
    sysctl -a > mysys.conf
    2、拷贝到其他主机并执行
    sysctl -p -f mysys.conf

    六、内核参数调优

    6.1 高并发Web服务器内核参数调优

    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle = 1 (不推荐,NAT下会产生大量的timeout)
    net.ipv4.tcp_fin_timeout = 30
    net.ipv4.tcp_max_syn_backlog=65536
    net.core.somaxconn=32768
    net.core.netdev_max_backlog=65536
    sysctl -w net.ipv4.ip_conntrack_max=65536

    6.2 其他调优参数

    #设置是否响应 icmp echo 请求广播
    #net.ipv4.icmp_echo_ignore_broadcasts = 1

    #设置之后,可以忽略由网络中的那些声称回应地址是广播地址的主机生成的ICMP错误。
    #net.ipv4.icmp_ignore_bogus_error_responses = 1

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

    #Default should work for all interfaces
    net.ipv4.conf.all.log_martians = 1
    net.ipv4.conf.default.log_martians = 1

    #禁用所有IP源路由
    net.ipv4.conf.all.accept_source_route = 0
    net.ipv4.conf.default.accept_source_route = 0

    #打开反向路径过滤功能,防止ip地址欺骗
    net.ipv4.conf.all.rp_filter = 1

    #启用源路由核查功能,减少DDoS攻击,防止IP Spoofing
    net.ipv4.conf.default.rp_filter = 1

    #禁止接收路由重定向报文,防止路由表被恶意更改
    net.ipv4.conf.all.accept_redirects = 0
    net.ipv4.conf.default.accept_redirects = 0

    #只接受来自网关的“重定向”icmp报文
    net.ipv4.conf.all.secure_redirects = 0
    net.ipv4.conf.default.secure_redirects = 0

    #禁止转发重定向报文
    net.ipv4.conf.all.send_redirects = 0
    net.ipv4.conf.default.send_redirects = 0

    net.ipv4.tcp_window_scaling = 1
    #表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
    net.ipv4.tcp_max_syn_backlog = 8192

    #timewait的数量,默认是180000。(Deven:因此如果想把timewait降下了就要把tcp_max_tw_buckets值减小)
    net.ipv4.tcp_max_tw_buckets = 4096

    #表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
    net.ipv4.tcp_keepalive_time = 20

    #禁用路由转发,只有在服务器上个开启了 ip_forward后,到达服务器的请求才会被iptables转发出去
    net.ipv4.ip_forward = 0

    #当TCP使用了该值的内存页面数时
    net.ipv4.tcp_mem = 192000 300000 732000

    TCP读buffer
    net.ipv4.tcp_rmem = 51200 131072 204800

    #min4096(4K)为TCP socket预留用于发送缓冲的内存最小值,default 16384(16K) max131072(128K)
    net.ipv4.tcp_wmem = 51200 131072 204800

    #探测消息未获得响应时,重发该消息的间隔时间(秒)(默认75)
    net.ipv4.tcp_keepalive_intvl = 20

    #在认定TCP连接失效之前,最多发送多少个keepalive探测消息。(默认9)
    net.ipv4.tcp_keepalive_probes = 2

    #对孤立的socket重试的最大次数
    net.ipv4.tcp_orphan_retries = 3

    #在内核放弃建立连接之前发送SYN包的数量
    net.ipv4.tcp_syn_retries = 3

    #为了打开对端的连接,内核需要发送一个SYN并附带一个回应前面一个SYN的ACK。也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃连接之前发送SYN+ACK包的数量
    net.ipv4.tcp_synack_retries = 3

    #在丢弃激活(已建立通讯状况)的TCP连接之前﹐需要进行多少次重试。默认值为15
    net.ipv4.tcp_retries2 = 5

    #如果套接字由本端要求关闭,这个参数 决定了它保持在FIN-WAIT-2状态的时间。对端可以出错并永远不关闭连接,甚至意外当机。缺省值是60秒。2.2 内核的通常值是180秒,你可以按这个设置,但要记住的是,即使你的机器是一个轻载的WEB服务器,也有因为大量的死套接字而内存溢出的风险,FIN- WAIT-2的危险性比FIN-WAIT-1要小,因为它最多只能吃掉1.5K内存,但是它们的生存期长些
    net.ipv4.tcp_fin_timeout = 30

    #系统所能处理不属于任何进程的TCP sockets最大数量。假如超过这个数量,那么不属于任何进程的连接会被立即reset,并同时显示警告信息
    net.ipv4.tcp_max_orphans = 200000

    #开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接
    net.ipv4.tcp_tw_reuse = 1

    #启用timewait快速回收
    net.ipv4.tcp_tw_recycle = 1

    #表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为10000到65000
    net.ipv4.ip_local_port_range = 10000 65000

    #每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
    net.core.netdev_max_backlog = 4096

    #在所有标记的二进制程序中被启用。
    kernel.exec-shield = 1

    #参数值为2时,表示启用随机地址功能;0表示关闭;
    kernel.randomize_va_space = 1

    #增加系统文件描述符限制
    #fs.file-max = 65535

    #PID分配限制值。当内核下一个PID值到达这个值,它会回到最低的PID值。PID的最大的pid_max未分配,默认值为32768
    kernel.pid_max = 65536

    #该文件表示强制Linux VM最低保留多少空闲内存
    vm.min_free_kbytes=409600
    #该项表示内核回收用于directory和inode cache内存的倾向
    vm.vfs_cache_pressure=200

    #缺省60,减少这个参数会使系统尽快通过swapout不使用的进程资源来释放更多的物理内存
    vm.swappiness = 40

    #缺省是3000,也就是30秒,如果系统写操作压力很大,可以适当减小该值,但也不要太小;建议设置为
    vm.dirty_expire_centisecs = 1500

    #这个参数控制内核的脏数据刷新进程pdflush的运行间隔。单位是 1/100 秒。缺省数值是500,持续的写入降低,短期的写入并且数据不打并且内存多,应该增大数值
    vm.dirty_writeback_centisecs = 1000

    #单个进程的脏页数量达到系统总内存的多大比例后,就会触发pdflush/flush/kdmflush等后台回写进程运行。
    vm.dirty_ratio = 20

    #所有全局系统进程的脏页数量达到系统总内存的多大比例后,就会触发pdflush/flush/kdmflush等后台回写进程运行
    vm.dirty_background_ratio = 10
    6.3 tcp_tw_recycle内核参数说明
    服务器端打开tcp_tw_recycle参数时,必须要非常小心,因为它依赖于客户机的时间戳。这可能会导致共享套接字的NAT系统出现问题,从而导致服务器端内核丢弃SYN包并忽略连接尝试,造成客户端connection refused,这将导致客户端发生随机连接故障。
    当客户端访问一个net.ipv4.tcp_tw_recycle打开的服务器时,客户端连接可能会被有规律的丢弃,因为NAT后面的主机没有同步的TCP时钟。
    如果客户端没有启用net.ipv4.tcp_timestamps内核参数,则服务端net.ipv4.tcp_tw_recycle内核参数无法正常工作。

    展开全文
  • 现在很多人都在诟病Linux内核协议栈收包效率低,不管他们是真的懂还是一点都不懂只是听别人说的,反正就是在一味地怼Linux内核协议栈,他们的武器貌似只有DPDK。但是,即便Linux内核协议栈收包效率真的很低,这是为...
  • Linux调优指南

    2018-07-25 09:28:43
    不错的Linux系统性能调优讲解,从基本原理开始,详细介绍了内核各模块工作机制。
  • Linux 性能调优的几种方法(from cu ibm)
  • 前言:最近在研究服务器初始化和内核参数调优,翻阅了大量文档,尽量做到每个参数都能有详细的解释,而不是捡一篇通用调优配置就上到服务器上去。 个人愚见:关于内核参数调优方面,安全应该是第一位的,性能可以...
  • Linuxudp的丢包分析

    2020-06-18 17:17:43
    分析udp的丢包,需要分析带序号的报文,RTP报文,可以分析丢包情况;若是分析iperf的udp包,没法分析出丢包来。 网上说可以使用watch netstat -su查看丢包统计。主要看RcvbufErrors和SndbufErrors,packet receive ...
  • 2 大多数游戏服务器来说,为了支持更大的同时在线人数,通常会基于 TCP 或 UDP ,与客户端进行交互,这时就需要我们测试 TCP/UDP 的性能; 3 还有一些场景,是把 Linux 作为一个软交换机或者路由器来用的。这种情况...
  • 另一方面,对于互联网安全中的一个重要原则:开启服务越少,系统越安全,在linux中我们可以直接使 用"/etc/init.d/* stop" 关闭系统中多余的服务,但是这是临时的,我们可以使用chkconfig命令来管理,但是在关闭这些...
  • LINUX性能调优--DNS

    2020-07-21 19:39:12
    DNS工作原理: 应用层协议,大部分基于UDP,域名服务器一般监听在53.以递归的方式工作,从顶级域名一直到解析完成。每一层的DNS服务器也会有相应的解析缓存,加快解析的速度。 DNS资源记录: A 记录,用来把域名...
  • Linux UDP严重丢包问题的解决

    千次阅读 2018-01-16 09:54:21
    测试系统在Linux上的性能发现丢包率极为严重,发210000条数据,丢包达110000之巨,丢包率超过50%。同等情形下Windows上测试,仅丢几条数据。形势严峻,必须解决。考虑可能是因为协议栈Buffer太低所致,于是先看看...
  • linux内核调优参数对比和解释

    千次阅读 2017-05-24 13:35:40
    # 作用:UDP队列里数据报的最大个数 net.unix.max_dgram_qlen = 30000   ########################################################################################## ##############...
  • linux服务之tuned调优

    2021-05-17 11:11:49
    RHEL/CentOS 在 6.3 版本以后引入了一套新的系统调优工具 tuned/tuned-adm,其中 tuned 是服务端程序,用来监控和收集系统各个组件的数据,并依据数据提供的信息动态调整系统设置,达到动态优化系统的目的;...
  • Linux 网络收发流程 收取流程: 1 网络包到达网卡 2 网卡通过DMA放到收包队列中 3 硬件中断,告诉中断处理程序收到了网络包 4 网卡中断程序分配内和数据结构(sk_buf) 5 拷贝到sk_buf缓冲区 6 通过软中断,告诉内核...
  • 原贴:http://blog.chinaunix.net/u/26011/showart_365527.htmlLinux 性能调优的几种方法 按照传统,Linux不同的发行版本和不同的内核对各项参数及设置均做了改动,从而使得系统能够获得更好的性 能。下边将分四...
  • 注意:调整tcp前,必须调整core,对于tcp,udp来说不能超出core的限制   默认值: net.core.rmem_max = 131071 128K net.core.rmem_default = 124928 net.core.wmem_max = 131071 ...
  • 目录前言top命令htop命令ps命令free命令vmstat命令iosat命令netstat命令df命令du命令前言一般来说,Linux性能调优涉及CPU、内存和 IO,包括进程、线程...
  • linux内核参数调优,缓冲区调整,tcp/udp连接管理,保持,释放优化,gossary,terms changing a readonly file (linu single user mode) 执行mount -o remount rw -t ext3 / 让根文件系统重新mount成读写...
  • 1、linux socket 缓存:core rmem_default rmem_max 使用udp接收数据时: 若没有调用setsokcetopt设置系统接收缓存,则接收缓存的大小为rmem_default。 若程序调用setsocketopt设置系统接收缓存,则设置值不能...
  • 本人自己对linux网络协议栈的一点分析, 对UDP接收(从网卡收包到用户态接收)和发送(一直到网卡发送)的追踪。 当然本人也是初学, 该文档实际上也是本人自己的笔记, 希望能和大家分享, 同时也希望大家能指出...
  • Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要目的是高效处理非交互式...
  • P ALL 5 13 Linux 2.6.18-53.el5PAE (localhost.localdomain) 03/28/2009 10:07:57 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s 10:07:59 PM all 20.75 0.00 10.50 1.50 0.25...
  • Linux 性能调优的几种方法[转] 按照传统,Linux不同的发行版本和不同的内核对各项参数及设置均做了改动,从而使得系统能够获得更好的性能。下边将分四部分介绍在Red Hat Enterprise Linux AS和SUSE LINUX ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,835
精华内容 3,534
关键字:

linuxudp调优

linux 订阅