浅谈shadowsocks优化

shadowsocks 5aimiku 2914次浏览 5个评论
目录
[隐藏]

首先你要确定你的机器的虚拟化技术是什么,如果不知道请参考以下方法:

检测虚拟化:

安装:

yum install virt-what -y         (centos)
apt-get install virt-what -y     (debian系)

查看:

virt-what

openvz:

1.netspeeder:

获得安装包:

wget http://linux.linzhihao.cn/shell/netspeeder.sh

(注意,这是CENTOS6的,如果你用的别的请自行百度,网上都有)

运行安装包:

sh netspeeder.sh

PS.讲道理我是不推荐这个东西的,为啥不推荐嘞,这个方法会双倍发包保证低丢包率和高速度,但是损人还不一定利己,会导致整个网络拥堵。

2.finalspeed

这东西是啥我也就不多说了,大家都明白,算是拯救辣鸡VPS的神器吧

#安装
wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/finalspeed/master/install_fs.sh && bash install_fs.sh
#卸载
wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/finalspeed/master/install_fs.sh && bash install_fs.sh uninstall

常用命令:

启动: /etc/init.d/finalspeed start
停止命令:/etc/init.d/finalspeed stop
状态命令(查看日志):/etc/init.d/finalspeed status

安装路径: /fs/
日志路径:/fs/server.log

KVM:

锐速以及上面提到的FS:

由于锐速官网停止安装了。。导致有帐号都装不上。所以我们使用破解版

91yun:

#安装
wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh
#卸载
chattr -i /serverspeeder/etc/apx* && /serverspeeder/bin/serverSpeeder.sh uninstall -f

屌鸡:

wget -q -O- http://file.idc.wiki/get.php?serverSpeeder | bash -
bash serverSpeeder_setup.sh

MJJ

wget o0o.re/rscentos&&sh rscentos

以及hostloc原版文件(信仰加成233):锐速破解V2.0           锐速破解V1.1

PS.由于破解版作者本人引文压力(阻挠人家公司赚钱你懂):他已经删除了所有的原版文件,所以讲道理。。这个算绝版不?虽然适用范围很小(其实也就是装一波逼)

相关命令:

重启:service serverSpeeder restart
启动:/serverspeeder/bin/serverSpeeder.sh start
启动锐速:service serverSpeeder start #加载加速模块;使用/serverspeeder/etc/config 文件中的配置作为模块加载时的初始化参数
停止:/serverspeeder/bin/serverSpeeder.sh stop
停止锐速:service serverSpeeder stop #卸载加速模块;停止锐速前请确认没有其它进程在访问/proc/net/appex/目录,例如确认控制台当前目录是否是/proc/net/appex/
卸载:/serverspeeder/bin/serverSpeeder.sh uninstall(以上注意区分大小写,否则提示找不到文件)

在 不 停 止 锐 速 运 行 的 情 况 下 实 时 修 改 锐 速 参 数 配 置:

service serverSpeeder reload
#修 改/serverspeeder/etc/config 文件的配置后运行此命令,此时加速模块不退出,参数被实时修改

查看当前锐速的实时运行状态:

service serverSpeeder status
#授权状态到期时间,版本号,系统序列号,加速连接数,加速速率,配置信息等

实时显示每个加速引擎的连接数、流量,以及所有引擎的总的连接数和流量:

service serverSpeeder stats
#其中连接数统计包括网络连接数(sessions),tcp 连接数(tcp sessions),已加速的 tcp 连接数(accelerated sessions)以及活动的 tcp 连接数(active tcp sessions);流量统计包括流入(in)流量统计和流出(out)流量统计,单位均为 kbit/s;一般情况下,所有引擎的总连接数及流量即为服务器的互联网连接数及流量

优化设置:

vi /serverspeeder/etc/config
#把rsc="0"改成rsc="1",切换新网卡驱动 修改gso="0"改成gso="1" 推荐修改的内容为: advinacc="1" (高级入向加速开关;设为 1 表示开启,设为 0 表示关闭;开启此功能可以得到更 好的流入方向流量加速效果) maxmode="1" (最大传输模式;设为 1 表示开启;设为 0 表示关闭;开启后会进一步提高加速效 果,但是可能会降低有效数据率)"如果测试无效果请不要开启此功能" 其它设置,如果不能直接操作到总服务器的话,不推荐修改,保留默认即可。 最后输入下面命令,重启软件即可。
/serverspeeder/bin/serverSpeeder.sh restart
#如果提示内存不足无法启动的话,请释放点内存后在执行启动。 或者设置engineNum="1"(只启用1个加速引擎“单核心才能更稳定”,默认CPU多少线程就启用多少个)

PS:关于这个问题的一个简单判断:
如果是美国的vps除非是冷门线路不然都打开csvmode=1,
线路好的亚洲vps你可以把initialCwndWan开大一些(64),初始速度上的快。
l2wQLimit和w2lQLimit看你的内存情况调整(我是512M内存的vps l2wQLimit=”512 4096″ w2lQLimit=”512 4096″)。
支持收发合并的vps就打开 gso=1 rsc=1。

详细优化配置请查看我的另一篇文章 关于锐速的优化参数

BBR(一键脚本来自于逗比根据地):

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && bash bbr.sh

安装完成后,脚本会提示需要重启 VPS,输入 y 并回车后重启。

重启完成后,进入 VPS,验证一下是否成功安装最新内核并开启 TCP BBR,输入以下命令:

uname -r
# 查看内核版本,含有高于 4.9.0 就表示 OK 了

sysctl net.ipv4.tcp_available_congestion_control
# 返回值一般为:
# net.ipv4.tcp_available_congestion_control = bbr cubic reno

sysctl net.ipv4.tcp_congestion_control
# 返回值一般为:
# net.ipv4.tcp_congestion_control = bbr

sysctl net.core.default_qdisc
# 返回值一般为:
# net.core.default_qdisc = fq

lsmod | grep bbr
# 返回值有 tcp_bbr 模块即说明bbr已启动。

TCP优化:

增加TCP链接数:
vi /etc/security/limits.conf

* soft nofile 51200
* hard nofile 51200

然后ulimit -n 51200

HYBLA算法优化:
vi /etc/sysctl.conf

fs.file-max = 51200
#提高整个系统的文件限制
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
# increase TCP max buffer size settable using setsockopt()
net.core.netdev_max_backlog = 250000
# increase the length of the processor input queue
net.core.somaxconn = 3240000

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 = 0
#表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭;
#为了对NAT设备更友好,建议设置为0。
net.ipv4.tcp_fin_timeout = 30
#修改系統默认的 TIMEOUT 时间。
net.ipv4.tcp_keepalive_time = 1200
#表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
net.ipv4.ip_local_port_range = 10000 65000
#表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为10000到65000。(注意:这里不要将最低值设的太低,否则可能会占用掉正常的端口!)
net.ipv4.tcp_max_syn_backlog = 8192
#表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_tw_buckets = 5000
#表示系统同时保持TIME_WAIT的最大数量,如果超过这个数字,TIME_WAIT将立刻被清除并打印警告信息。
net.ipv4.tcp_fastopen = 3
#额外的,对于内核版本新于**3.7.1**的,我们可以开启tcp_fastopen
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
# increase Linux autotuning TCP buffer limit
net.ipv4.tcp_mtu_probing=1
# recommended for hosts with jumbo frames enabled
net.ipv4.tcp_congestion_control = hybla

然后执行sysctl -p来生效
PS.讲道理人少带宽占用不高就图个心理安慰2333。


本文版权:霜之哀伤 转载请注明浅谈shadowsocks优化
喜欢 (3)or分享 (0)
5aimiku
关于作者:
一条自以为上了大学就脱离苦海的咸鱼,业余喜欢打游戏,平时喜欢折腾各种东西,喜欢ACG,喜欢宅。
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(5)个小伙伴在吐槽
  1. 很负责啊,最近的BBR一键脚本也更新到文章里了,给你点个赞!
    Littlematch2017-05-06 00:27 回复
    • 不过那个一键脚本不应该只支持CentOS吧? 看到标题是这样:“CentOS/Debian/Ubuntu系统 TCP-BBR 一键安装脚本”
      Littlematch2017-05-06 00:29 回复
      • 5aimiku
        刚刚去github看了一下确实更新了,不过最开始我记得只有centos
        5aimiku2017-05-06 21:39 回复
  2. d点赞
    guwhao2017-01-21 12:46 回复
  3. 太给力了
    metheno2016-06-25 17:44 回复