• Centos优化一


    下面是优化部分,优化的前提是内核版本是需要3.7以上,查看内核版本,执行命令
    uname -a
    会返回你的内核信息。


    接着我们要进行一些优化,这才是选择CentOS 7 x64系统的主要原因。

    重启之后,我们用PUTTY重新登陆服务器。

    首先我们要在系统中启用TCP Fast Open
    运行命令

    echo 3 > /proc/sys/net/ipv4/tcp_fastopen

    需要重启后也生效TCP Fast Open ,要编辑sysctl.conf
    运行

    vi /etc/sysctl.conf

    按键盘i建进入编辑模式,光标移到底部空行处,复制以下内容。
    ————————————————复制以下内容————————
    net.ipv4.tcp_fastopen = 3
    ————————————————复制以上内容————————
    复制完成后,回个车,为底部再留下空行,按键盘Esc 键退出编辑模式,输入:wq回车,保存并退出。

    增加tcp连接数量
    运行命令
    vi /etc/security/limits.conf
    按键盘i建进入编辑模式,光标移到底部# End of file上面一行空白处
    ,复制以下内容。
    ————————————————复制以下内容————————
    * soft nofile 51200
    * hard nofile 51200
    ————————————————复制以上内容————————
    复制完成后,回个车,为底部再留下空行,按键盘Esc 键退出编辑模式,输入:wq回车,保存并退出。

    运行命令
    ulimit -n 51200


    接着我们要调整TCP拥塞控制算法为hybla

    首先科普下TCP拥塞控制算法:
    中美之间的线路质量不是很好,rtt较长且时常丢包。TCP的设计目的是解决不可靠线路上可靠传输的问题,即为了解决丢包,但丢包却使TCP传输速度大幅下降。HTTP协议在传输层使用的是TCP协议,所以网页下载的速度就取决于TCP单线程下载的速度(因为网页就是单线程下载的)。丢包使得TCP传输速度大幅下降的主要原因是丢包重传机制,控制这一机制的就是TCP拥塞控制算法。
    Linux内核中提供了若干套TCP拥塞控制算法,这些算法各自适用于不同的环境。
    1)reno是最基本的拥塞控制算法,也是TCP协议的实验原型。
    2)bic适用于rtt较高但丢包极为罕见的情况,比如北美和欧洲之间的线路,这是2.6.8到2.6.18之间的Linux内核的默认算法。
    3)cubic是修改版的bic,适用环境比bic广泛一点,它是2.6.19之后的linux内核的默认算法。
    4)hybla适用于高延时、高丢包率的网络,比如卫星链路——同样适用于中美之间的链路。
    我们需要做的工作就是将TCP拥塞控制算法改为hybla算法,并且优化TCP参数。


    运行
    sysctl net.ipv4.tcp_available_congestion_control

    会得到 net.ipv4.tcp_available_congestion_control = cubic reno
    表示我们系统的TCP拥塞控制算法只能选择cubic或者reno算发,hybla算法并没有启用,我们就要启用hybla算法。

    运行
    /sbin/modprobe tcp_hybla

    sysctl net.ipv4.tcp_available_congestion_control
    得到net.ipv4.tcp_available_congestion_control = cubic reno hybla
    这时表明hybla已经可以使用了。

    运行
    cp /etc/sysctl.conf /root/
    这个是复制sysctl.conf文件,作个备份


    修改sysctl.conf文件,优化TCP参数
    vi /etc/sysctl.conf
    按键盘i建进入编辑模式,光标移到刚才复制的net.ipv4.tcp_fastopen = 3的下面一行,复制以下内容。
    ————————————————复制以下内容————————
    fs.file-max = 51200
    #提高整个系统的文件限制
    net.core.rmem_max = 67108864
    net.core.wmem_max = 67108864
    net.core.netdev_max_backlog = 250000
    net.core.somaxconn = 3240000

    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle = 0
    net.ipv4.tcp_fin_timeout = 30
    net.ipv4.tcp_keepalive_time = 1200
    net.ipv4.ip_local_port_range = 10000 65000
    net.ipv4.tcp_max_syn_backlog = 8192
    net.ipv4.tcp_max_tw_buckets = 5000
    net.ipv4.tcp_fastopen = 3
    net.ipv4.tcp_rmem = 4096 87380 67108864
    net.ipv4.tcp_wmem = 4096 65536 67108864
    net.ipv4.tcp_mtu_probing = 1
    net.ipv4.tcp_congestion_control = hybla
    ————————————————复制以上内容————————
    复制完成后,回个车,为底部再留下空行,按键盘Esc 键退出编辑模式,输入:wq回车,保存并退出。

    运行

    sysctl -p

    使上面的配置生效。

    至此,优化也完成了。你可以尽情使用。

    注:如需要检查TCP Fast Open有没有生效运行
    sysctl net.ipv4.tcp_fastopen
    得到 net.ipv4.tcp_fastopen = 3,表示已经成功生效了。

  • 相关阅读:
    Oracle VM Virtualbox基础知识
    Ubuntu12.10下Python(pyodbc)访问SQL Server解决方案
    制作系统启动盘重装系统
    仪表·使用相关
    Linux·命令收藏
    串口·相关文章
    Linux命令集锦之·字符截取命令
    Linux命令集锦之·正则表达式
    C#·好文分享
    三大操作系统对比使用之·Ubuntu16.04
  • 原文地址:https://www.cnblogs.com/dejun/p/5726407.html
Copyright © 2020-2023  润新知