锐速+htcp内核算法调优救活你的病鸡

前言

一次偶然的机会,买了一台伯力机器,第一时间上了BBR和BBRPLUS 可能是因为我是南方电信的缘故上BBR并没有什么卵用

这让我想起了锐速兴许可以救一下苦海的电信,当然锐速并没有让我失望,不然也不会有此篇博客

锐速优化过后的效果

早上10W好上
晚上2W好上

风险须知

首先安装锐速可能会被ban,要有心理准备,但是我的想法是,可能他们没有调整参数,没有做到不适用官方源。
所以第一步我们先把源头换下,使用盟咖大佬的纯净版debian9

DD系统(网络重装)

  1. apt-get install net-tools  (安装网络工具包)
  1. ifconfig -a  (查看本机公网IP地址)
  1. route -n   (查看网关地址)

按下图所示,获得相应的参数,留着备用

然后填入相应的 ip、网关、掩码

bash <(wget –no-check-certificate -qO- ‘https://moeclub.org/attachment/LinuxShell/InstallNET.sh’) -d 9 -v 64 -a –ip-addr 我是ip地址 –ip-gate 我是网关 –ip-mask 我是掩码

如果您的VPS有VNC 可以连接上去看着进度

全自动安装默认root密码:MoeClub.org
安装完成后请立即更改密码.

安装锐速

因为我习惯用debian9,所以小伙伴可以跟我一起走

Debian / Unbuntu自动更换内核(必须,运行后需重启)

bash <(wget –no-check-certificate -qO- ‘https://moeclub.org/attachment/LinuxShell/Debian_Kernel.sh’)

重启后再连接SSH执行锐速安装

bash <(wget –no-check-certificate -qO- https://github.com/xidcn/LotServer_Vicer/raw/master/Install.sh) install

安装完成会显示running!
完成,接下来就是锐速参数调优环节

锐速配置文件路径:/appex/etc/config

涉及到修改的就几个参数,此次教程我使用伯力为教程对象,其他机器自己调,
利用ping测去程平均数÷相应数,得到当前数值

wankbps=”1000000″  #上行带宽
waninkbps=”1000000″         #下行带宽
initialCwndWan=”45″    #初始拥塞窗口;平均ping ms÷3
l2wQLimit=”512 4096″   #VPS内存MB×8=缓存数值
w2lQLimit=”512 4096″  #VPS内存MB×8=缓存数值
advinacc=”1″              # 开启高级入向加速
maxmode=”1″          #开启最大传输模式
halfCwndLossRateShift=”20″  #调整丢包率为20%;
shaperEnable=”1″  #流量整形, 看情况使用
smBurstMS=”15″      #该值越大,数据包发送量越大;平均ping ms÷9
shortRttMS=”43″     #将不对 RTT 小于 shortRttMS 的连接加速,节约系统资源;平均ping ms÷3

然后保存覆盖,随你用VI还是什么,达到效果就行;
然后重启锐速 或者重启vps,让其生效

  • 启动命令 /appex/bin/lotServer.sh start
  • 停止加速 /appex/bin/lotServer.sh stop
  • 状态查询 /appex/bin/lotServer.sh status
  • 重新启动 /appex/bin/lotServer.sh restart

TCP优化

前往:/etc/sysctl.conf

修改你想优化的tcp参数,比如链接数比如加一些内核TCP拥堵算法,
reno、bic、cubic、hybla 什么的, 你们慢慢折腾

Linux内核中提供了若干套TCP拥塞控制算法:

reno是最基本的拥塞控制算法,也是TCP协议的实验原型;

bic适用于丢包极为罕见的情况,比如北美和欧洲之间的线路,这是2.6.8到2.6.18之间的Linux内核的默认算法;

cubic是修改版的bic,适用环境比bic广泛一点,它是2.6.19之后的linux内核的默认算法;

hybla适用于高延时、高丢包率的网络,比如卫星链路——同样适用于中美之间的链路。

h-tcp高性能网络中综合表现比较优秀的算法,但它有rtt不公平性和低带宽不友好性等问题。

网友的结论,hybla适合欧美节点的高延迟网络环境,htcp适合日本节点的低延迟网络环境,在实测过程中验证了htcp确实比较适合日本服务器节点的性能优化。
本次伯力因为是延迟比较低,所以我们选择异类htcp

首先执行下面代码看看机器开启了哪些内核算法

ls -la /lib/modules/$(uname -r)/kernel/net/ipv4

你应该得到一个模块列表,大概是这样

.

tcp_bic.ko
tcp_diag.ko
tcp_highspeed.ko
tcp_htcp.ko
tcp_hybla.ko
tcp_illinois.ko
tcp_lp.ko
tcp_scalable.ko
tcp_vegas.ko
tcp_veno.ko
tcp_westwood.ko

查看当前内核已经启用或可用的算法:

sysctl net.ipv4.tcp_available_congestion_control

不出意外,返回的数值中没有htcp,hybla,但是我们先前查看的内核已经编译了它们,我们只需要从modprobe启用它即可

/sbin/modprobe tcp_htcp

/sbin/modprobe tcp_hybla

然后再次执行查看是否已经被启用

sysctl net.ipv4.tcp_available_congestion_control

终端返回下面数值即为启用成功

sysctl net.ipv4.tcp_available_congestion_control = htcp cubic reno hybla

接着我们编辑/etc/sysctl.conf

修改内核TCP拥堵算法:

net.ipv4.tcp_congestion_control = htcp #内核TCP拥堵算法

net.core.default_qdisc = fq_codel #将网络拥塞队列算法设置为性能和延迟最佳的fq_codel

修改完执行:

sysctl -p

或者重启vps,让其生效

此内核可以双开,你们可以试试效果,我感觉没啥区别

检测是否成功

看是否成功,可以用这个脚本检测状态

wget -N –no-check-certificate “https://github.000060000.xyz/tcp.sh” && chmod +x tcp.sh && ./tcp.sh

© 版权声明
THE END
喜欢就支持以下吧
点赞1
分享
评论 抢沙发