Shadowsocks优化加速,shadowsocks优化


最近闲时把digitalocean服务器上的shadowcocks优化了一下,优化后google搜索基本在2秒以内出结果,这基本达到了我科学上网的要求,更重要的是工作的时候提高了我的效率。如果想还快一点,可以用国内的一台vps做二级代理,速度可提升不少。

Shadowsocks要比vpn轻很多,同时也要快很多,在网终环境不好的时候,vpn也经常容易断,影响效率。 平时科学上网大多数时候都是用Shadowsocks,速度快不说,还不用老让我重连,然后Shadowsocks还有很多优化空间。 1.加密方式推荐使用rc4-md5 TIPS: 加密方式推荐使用rc4-md5,因为 RC4 比 AES 速度快好几倍,如果用在路由器上会带来显著性能提升。旧的 RC4 加密之所以不安全是因为 Shadowsocks 在每个连接上重复使用 key,没有使用 IV。现在已经重新正确实现,可以放心使用。/etc/shadowsocks.json配置文件如下; {     “server”:”my_server_ip”,     “server_port”:8000,     “local_address”: “127.0.0.1”,     “local_port”:1080,     “password”:”mypassword”,     “timeout”:300,     “method”:”rc4-md5″ }   重新启动即可 ssserver -c /etc/shadowsocks.json -d stop ssserver -c /etc/shadowsocks.json -d start   2.锐速加速 锐速是一款非常不错的TCP底层加速软件,可以非常方便快速地完成服务器网络的优化,配合 ShadowSocks 效果奇佳。目前锐速官方也出了永久免费版本,适用带宽20M、3000加速连接,个人使用是足够了。如果需要,先要在锐速官网注册个账户。   然后确定自己的内核是否在锐速的支持列表里,如果不在,请先更换内核,如果不确定,请使用 手动安装。   确定自己的内核版本在支持列表里,就可以使用以下命令快速安装了。   wget http://my.serverspeeder.com/d/ls/serverSpeederInstaller.tar.gz tar xzvf serverSpeederInstaller.tar.gz bash serverSpeederInstaller.sh 输入在官网注册的账号密码进行安装。 然后选择需要加速的接口、上行及下行最大带宽,这里不需要输入任何内容,参数设置直接回车默认即可, 最后两项输入 y 开机自动启动锐速,y 立刻启动锐速。之后可以通过lsmod查看是否有appex模块在运行。   到这里还没结束,我们还要修改锐速的3个参数,vi /serverspeeder/etc/config   rsc=”1″ #RSC网卡驱动模式 advinacc=”1″ #流量方向加速 maxmode=”1″ #最大传输模式 digitalocean vps的网卡支持rsc和gso高级算法,所以可以开启rsc=”1″,gso=”1″。   重新启动锐速   service serverSpeeder restart   注: 如果遇到..Failed to write configuration: /proc/net/appex/wanKbps的错误, 需要删除掉   rm -rf /serverspeeder/   然后重新尝试在官网手动下载安装包serverSpeederInstaller.tar.gz 解压重复以上安装步骤bash serverSpeederInstaller.sh即可     附:/serverspeeder/etc/config 各参数配置   启动锐速: /serverspeeder/bin/serverSpeeder.sh start 加载锐速模块, 使用/serverspeeder/etc/config 文件中的配置作为锐速的初始化参数;   停止锐速:/serverspeeder/bin/serverSpeeder.sh stop 卸载加速模块;卸载前请确认没有其它进程在访问/proc/net/appex/目录,例如确认控制台当前目录是否是/proc/net/appex/;   实时修改锐速参数: /serverspeeder/bin/serverSpeeder.sh reload 修改/serverspeeder/etc/config 文件中的配置后运行此命令,此时模块不退出,参数被实时修改;   如何卸载锐速? 在确保锐速没有运行的情况下,您可以通过两种方式来卸载锐速: 1. 使用安装脚本的卸载功能卸载锐速,如:./serverSpeederInstaller.sh uninstall 2. 通过简单的删除操作,如’rm -rf /serverspeeder/’,即可将锐速完全卸载; 通过修改/appex/etc/config 文件,可以为 LotServer 设定不同的配置参数;常用参 数的说明如下: 1) accif=”eth*” 加速接口;eth*一般为服务器上对外提供服务的网络接口,例如 eth0, eth1„,一 般通过 ifconfig 命令可以看到;可以同时设定多个接口作为加速接口(接口之间用空 格分开),如 accif=”eth0 eth1″;默认为”eth0″; 2)acc=”1″ TCP 加速开关;设为 1 表示开启 LotServer 的 TCP 加速功能,设为 0 表示关闭 LotServer 的 TCP 加速功能;默认为 1; 3)advacc=”1″ 高级加速开关;设为 1 表示开启,设为 0 表示关闭;开启此功能可以得到更好的 加速效果,但有可能会造成有效数据率下降;默认为 1; 4)advinacc=”0″ 高级入向加速开关;设为 1 表示开启,设为 0 表示关闭;开启此功能可以得到更 好的流入方向流量加速效果; 5)wankbps=”1000000″ 加速接口上行带宽;指的是从服务器流出到 Internet 的最大带宽,单位为 Kbps, 例如服务器所连接的 Internet 带宽为 1G,则设置为 1000000;默认为 1000000; 6)waninkbps=”1000000″ 加速接口下行带宽;指的是从 Internet 流入服务器的最大带宽,单位为 Kbps,例 如服务器所连接的 Internet 带宽为 1G,则设置为 1000000;默认为 1000000; wankbps 和 waninkbps 的设置一般与实际带宽相同为最理想;如果无法确定实际 带宽,一般设置为网卡的最大吞吐能力即可;例如网卡为千兆全双工网卡,则 wankbps 和 waninkbps 都设置为 1000000; 当设置过小时,例如实际带宽有 100Mbps,但 wankbps 和 waninkbps 设置为 10Mbps,则数据流量会被限制在 10Mbps 以内,此时会降低服务器的吞吐; 7)csvmode=”0″ highcsv=”0″ csvmode 拥塞控制模式开关;设为 1 表示开启,设为 0 表示关闭;开启 tcp 加速 后,在某些丢包较大的网络中可能会造成有效数据率下降的问题;此时开启拥塞控- 6 - 制模式,可以有效避免该问题;但开启此选项时,可能加速效果也会下降;默认为 0; csvmode=”1″ highcsv=”0″时,为普通拥塞控制模式,对拥塞具有一定控制的同时 对加速效果的影响较小; csvmode=”1″ highcsv=”1″时,为高级拥塞控制模式,可以更好的控制拥塞但是相 比于普通拥塞控制模式对加速效果的影响较大。 8)subnetAcc=”0″ 局域网加速开关;设为 1 表示开启;设为 0 表示关闭;不开启时对于同一局域网 内的连接不会加速;开启后对同一网段的 TCP 连接也进行加速; 9)maxmode=”0″ 最大传输模式;设为 1 表示开启;设为 0 表示关闭;开启后会进一步提高加速效 果,但是可能会降低有效数据率; 10)maxTxEffectiveMS=”0” 最大传输模式生效时间;用于控制最大传输模式对每一个连接的生效时间;设为 0 表示从连接建立到连接结束,都采用最大传输模式传输;单位为 ms,1000 即 1s; 11)pcapEnable=“0” 抓包开关;设为 1 表示开启,设为 0 表示关闭;开启此功能后会抓取经过加速引 擎处理的数据包,在/appex/log 目录下生成抓包文件; 12)bypassOverFlows=”1″ 流量 bypass 开关;设为 1 表示开启,设为 0 表示关闭;开启此功能后当服务器 的连接数超过引擎设定后会对超过的连接的流量 bypass,否则会无法新建连接; 13)initialCwndWan=”44″ 初始 TCP 发送窗口能够发送的数据包的数量;该值设置的高会获得更好的加速 效果,但是可能会造成网络的拥塞; 14)l2wQLimit=”256 2048″ 从 LAN 到 WAN 加速引擎在缓冲池充满和空闲时分别能够缓存的数据包队列的 长度的上限;该值设置的高会获得更好的加速效果,但是会消耗更多的内存; 15)w2lQLimit=”256 2048″ 从 WAN 到 LAN 加速引擎在缓冲池充满和空闲时分别能够缓存的数据包队列的 长度的上限;该值设置的高会获得更好的加速效果,但是会消耗更多的内存; 16)shrinkPacket=”0″ slab 缓存缩减开关;设为 1 表示开启,设为 0 表示关闭;当服务器内存消耗很高 时可以将该值设定为 1,这样会降低内存的消耗;- 7 - 17)retranWaitListMS=”32 重传等待时间;当服务器没有收到 ack 或者丢包产生之后客户端重复 ack 时间达 到 32ms,服务器重传数据;默认为 32ms; 18)halfCwndMinSRtt=”500″ halfCwndLossRateShift=”3″ 以上两个值用于判断网络拥塞,分别为延时和丢包率,丢包率默认值为 3,即 1/2^3,当拥塞产生时,退出第三代 Learning-based TCP 算法,采用类似传统 TCP 的 算法。 19)#byte cache byteCache=”0″ httpComp=”1″ byteCacheMemory=”250″ #MB byteCacheDisk=”0″ #MB diskDev=”/dev/sda2″ 以上为双边缓存的设置,当前只有部分版本支持该功能。分别是缓存开关,数据 压缩开关,内存大小,硬盘大小,指定硬盘位置; 20)shaperEnable=”1″ 流量整形开关,配合上行和下行带宽设置开启;设为 1 表示开启,设为 0 表示关 闭;开启此功能,会采用 wankbps 以及 waninkbps 设置的带宽大小运行;关闭此功 能,会根据实时传输自动测算带宽大小; 21)tcpOnly=”1″ 设为 1 表示开启,设为 0 表示关闭;开启此功能,即只处理 TCP 流量;关闭此功能, 也处理除 TCP 以外的流量(不会对非 TCP 流量加速),一般用于配置策略对非 TCP 数据丢弃时; 22)SmBurstMS=”15″ 引擎允许的最大突发时间,设为 0,则关闭;该值越大,数据包发送量越大;当 前推荐默认为 15; 23)rsc=”0″ 网卡接收端合并开关;设为 1 表示开启,设为 0 表示关闭;在有些较新的网卡驱 动中,带有 RSC 算法的,需要打开该功能; 24)gso=”0″ GSO 开关;设为 1 表示开启,设为 0 表示关闭;当网卡需要开启 gso 功能时, 开启此功能,LotServer变为支持gso的模式;关闭此功能,如果网卡开启gso,LotServer- 8 - 会关闭网卡的 gso 功能; 25)lanSegment=”” 当 LotServer 不是 TCP 连接的最终节点并且采用单臂模式部署时,如果 LotServer 和服务器之间网络环境很好,不需要加速,将此参数的值设为 Lan 一侧的子网网段 (参数的值为子网网段的十六进制表示加子网掩码,例:ip 为 172.33.0.0/16, lanSegment=”AC210000/16″),则 LotServer 和服务器之间不进行加速,可以节省 LotServer 使用的资源并获得更好的加速效果。如果不设置此参数,则 LotServer 会对 所有经过的 TCP 连接进行加速。(注:如果参数转换为十六进制后,第一位数字为 0 时,需要省略,不然无法正常写入配置。例如:参数十六进制值为:0C210000/16, 那么 lanSegment=”C210000/16″。) 26)configTimeout=”30″ 设置开启 LotServer 时,写入配置所需要的时间。当引擎的数目很多时需要写入 配置的时间较长,默认为 30s。 27)engineNum=”0″ LotServer 启动的加速引擎的的个数;在多处理器(核)的系统环境下,启用多个加 速引擎可以使网络流量的负载在多个处理器(核)之间做均衡分配,从而帮助优化系统 CPU 资源的利用;启用多个加速引擎时,引擎序号从 0 开始,分别为 engine0, engine1, engine2,等等;每个引擎的负载对应交给相同序号的处理器来处理,即,engine0 使 用 cpu0, engine1 使用 cpu1 等;engineNum 默认为 0,表示启用的加速引擎个数与系 统的处理器个数相同,64bit 架构下,当实际的 engineNum 参数大于 4 时,检查内 存: 当总内存减去 engine 占用内存剩余数小于 2G 时,提示用户一个 warning: LotServer Warning: $CPUNUM engines will be launched according to the config file. Your system’s total RAM is $memTotal(KB), which might be insufficient to run all the engines without performance penalty under extreme network conditions. ; 28)shortRttMS=”10″ 白名单开关;打开后 LotServer 将不对 RTT 小于 shortRttMS 的连接加速,节约系 统资源,提高性能;设置为 0 时表示关闭此功能,LotServer 会加速所有的连接;设 置为其他值时,例如 10,则表示当第一次建立连接时,Lotserver 会测量所有的新建 连接的 RTT,但是不对其进行加速;如果 RTT 大于 10ms,LotServer 会从第二次建 立连接开始对其加速,如果 RTT 小于 10ms,LotServer 则一直不会对其加速。默认 值 10ms。- 9 - 重启 LotServer 后,原来记录的每个连接的 RTT 会被清除,重新开始记录。 LotServer 使用五元组判断是否为同一连接,五元组包括:源 ip,目的 ip,源端口, 目的端口和协议。 29)apxexe=” /appex/bin/acce-***” LotServer 模块文件的路径; 30)apxlic=”/appex/etc/apx-***.lic” LotServer 授权文件的路径;   Shadowsocks优化加速

 

相关内容

    暂无相关文章