VPS/服务器优化网络、加速方法总结与参考
在国外的服务器上因为受各种因素影响,即使国外的服务器都是百兆共享或者G口到国内下载速度都不是很让人满意,大部分人购买国外服务器是用作存储下载或者扶墙,速度慢的所以话影响我们的使用体验。所以就搞出了很多加速的方法,本文以Linux为例,总结一下现有的加速方法,同时提供一个新事物–BBR加速器。
一、Kvm/Xen/Vmware/独立服务器的加速
1.锐速 ServerSpeeder
KVM这些加速比较容易,他们可以使用锐速来优化网络。锐速是一种单边加速器,加速TCP来实现速度的提升,他和后文提到的BBR加速一样使用单边拥塞控制算法来实现。锐速有一个好处是无需客户端,安装后可以优化扶墙、文件下载、网站速度,对于拿国外机器扶墙、存储和做站的非常实用。
关于锐速、BBR的加速可以参考本篇文章,非常专业和详细:http://blog.csdn.net/dog250/article/details/52830576
有条件的可以观看这个视频:https://www.youtube.com/watch?v=hIl_zXzU3DA
锐速因为有企业用户所以是闭源的,在去年一直是提供免费版使用,免费版加速为20Mbps,足够一般人使用。但是因为一些原因,锐速不再提供免费版,只有收费版还在销售。高手在民间,很快就有人搞出了Linux的破解版,破解时间和带宽限制,目前普遍用的人多的一般为91yun的版本,作者文章:https://www.91yun.org/archives/683
适配了大部分版本,只要是锐速有的都能支持,锐速比较依赖内核,如果你的Linux系统内核太新或者太旧就需要换内核,一般VPS都可以更换成功。CentOS可以参考该文章:http://www.91yun.org/archives/795
篇幅有限,就提供一下锐速的一键安装:
wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh
如果出现选择版本和内核随便选一个接近的就行,如果好几个选项都一样随便选择一个就行。
2.云语加速 Flash TCP
云语加速其实和锐速基本差不多的原理,只不过一直是收费售卖的,安装简单,效果和锐速一样。现在有一个长期的活动,不知道什么时候结束,免费20M加速。
官方地址:http://www.cloudtalkers.com/?page_id=405
安装方法和授权获取官网已经说的很明白,因为效果和锐速一样就不再过多阐述。
二、OpenVZ加速
OpenVZ无法享受锐速那种加速器,但是仍然有几款加速可以来优化。
1.Net-speeder
net-speeder项目地址:https://github.com/snooda/net-speeder
net-speeder可以适应多个系统,例如知名的搬瓦工、Virmach都能使用这个加速器,不过该加速器的原理暴力简单,就是双倍发包,这样可以减少丢包数量,但是发包过多容易被严格的主机商察觉封机,还有就是相当于流量少了一半,有些流氓但是确实很有效。
net-speeder支持主流Linux系统,同时支持OVZ、Xen、KVM多个架构。
安装方法:
CentOS:
wget --no-check-certificate https://gist.github.com/LazyZhu/dc3f2f84c336a08fd6a5/raw/d8aa4bcf955409e28a262ccf52921a65fe49da99/net_speeder_lazyinstall.sh sh net_speeder_lazyinstall.sh
Debian:
wget --no-check-certificate https://raw.githubusercontent.com/tennfy/debian_netspeeder_tennfy/master/debian_netspeeder_tennfy.sh chmod a+x debian_netspeeder_tennfy.sh bash debian_netspeeder_tennfy.sh
安装后执行:
nohup /usr/local/net_speeder/net_speeder venet0 >& &
加入开机启动:
echo 'nohup /usr/local/net_speeder/net_speeder venet0 "ip" >/dev/n
2.Kcptun
Kcptun 是一个非常简单和快速的,基于 KCP 协议的 UDP 隧道,它可以将 TCP 流转换为 KCP+UDP 流。而 KCP 是一个快速可靠协议,能以比 TCP 浪费10%-20%的带宽的代价,换取平均速度提高 30%-40%,且最大延迟降低三倍的传输效果。
Kcptun 是 KCP 协议的一个简单应用,可以用于任意 TCP 网络程序的传输承载,以提高网络流畅度,降低掉线情况。由于 Kcptun 使用 Go 语言编写,内存占用低,而且适用于所有平台,甚至 Arm 平台。
KCP工作原理图:
KCP 协议:https://github.com/skywind3000/kcp
Kcptun 项目地址:https://github.com/xtaci/kcptun
Kcp-server:https://github.com/clangcn/kcp-server
Kcp-server 是在 Kcptun 的基础上,添加了配置文件的支持,并简化了安装过程。
Kcp的安装使用优化可以参考该文章:http://www.cmsky.com/kcptun/ 因为篇幅过长本文不再详细叙述。
KCP的缺点就是需要客户端支持,对于做网站和下载不挂客户端就没啥用,而且手机版本的客户端也缺乏,只能电脑上扶墙好一些。
3.FinalSpeed
简称FS,他的优点是可以是双边加速,TCP和UDP,支持多个Linux系统和虚拟架构,也支持Windows,当然OVZ架构只能使用TCP,其他架构可以双边。FS需要客户端支持,没有手机客户端,做站什么的更不用说。FS的加速方法比较毒瘤,就是抢占邻居的带宽,如果一堆人在使用那就看谁的小鸡更强了。
目前FS已经转为收费项目,原FS已经停止更新,博主保存了一份最后的源码和FS客户端,有闲心的可以自己折腾使用。
三、BBR加速
BBR加速是最近火起来的加速器,依赖内核,只能使用在Xen、KVM等架构,不能在OVZ上使用。BBR类似锐速属于TCP单边加速,无需客户端支持,原理也和锐速相同,可以翻上去看加速原理。
BBR是Google的几位工程师研发的,开源免费,项目地址:https://github.com/google/bbr
BBR的唯一麻烦就是依赖的内核必须为4.9以上,以下的都不能得到支持。目前最省事的就是Ubuntu、Debian系统,CentOS目前支持6.x、7.x版本,如果你的VPS内核是旧版本需要手动更换内核。OVZ的VPS因为不能更换内核无法使用。
目前BBR的效果比较令人满意,即使是一个线路不好的KVM VPS也能得到改善,但是据部分人测试教育网会有减速效果,如果你的网络是教育网还是不要使用为好。
以Ubuntu 14和Debian 8为例提供安装方法(Debian7和6也能使用):
1.更新内核
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9-rc8/linux-image-4.9.0-040900rc8-generic_4.9.0-040900rc8.201612051443_amd64.deb #Ubuntu wget http://mirrors.kernel.org/debian/pool/main/l/linux/linux-image-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb #Debian dpkg -i linux-image-*.deb #安装内核 dpkg -l|grep linux-image #查看内核 apt-get purge (旧的内核名称) #删除老的内核
32位系统内核包:
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9-rc8/linux-headers-4.9.0-040900rc8_4.9.0-040900rc8.201612051443_all.deb
2.更新GRUB系统引导文件
update-grub #更新 reboot #重启
3.开启BBR
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf sysctl –p #保存生效 sysctl net.ipv4.tcp_available_congestion_control #查看内核是否已开启BBR lsmod | grep bbr #查看BBR是否启动
安装完成。
对于CentOS,目前支持6和7
wget http://mirrors.kernel.org/debian/pool/main/l/linux/linux-image-4.9.0-rc8-amd64-un signed_4.~rc8-~exp1_amd64.deb -rc8-amd64-unsigned_4.~rc8-~exp1_amd64.deb tar -Jxf data.tar.xz -rc8-amd64 /boot/vmlinuz--rc8-amd64 -rc8-amd64 /lib/modules/ depmod -a -rc8-amd64 dracut -f -v --hostonly -k -rc8-a md64.img -rc8-amd64 grub2-mkconfig -o /boot/grub2/grub.cfg
修改/boot/grub2/grub.cfg 把4.9.0的内核启动 放到第一位。
然后reboot
开启BBR
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf sysctl -p sysctl net.ipv4.tcp_available_congestion_control
查看下是否有BBR:
lsmod | grep bbr
CentOS其他内核下载:
Centos6 http://elrepo.org/people/ajb/devel/kernel-ml/el6/x86_64/RPMS/ Centos7 http://elrepo.org/people/ajb/devel/kernel-ml/el7/x86_64/RPMS/
2016-12-12 Update:
CentOS6有BBR一键包了,目前只支持CentOS6系统,OVZ请勿使用
作者新增支持了4.9内核正式版
wget --no-check-certificate https://github.com/52fancy/GooGle-BBR/raw/master/BBR.sh && sh BBR.sh
Github:https://github.com/52fancy/GooGle-BBR
Linode VPS更换内核可以参考,官方后台就有提供:
XEN
http://madlax.pw/2016/06/15/57.html
KVM
http://madlax.pw/2016/12/03/103.html
四、参考资料
本篇文章的编写参考了多篇文章,感谢作者的付出:(排名不分先后)
来自Google的TCP BBR拥塞控制算法解析:http://blog.csdn.net/dog250/article/details/52830576
BBR for CentOS 7整合分享:http://www.hostloc.com/thread-342505-1-1.html
在ubuntu和centos7上开启谷歌TCP BBR拥塞控制算法:http://www.awkxy.com/archives/721
安装BBR更有效利用你的服务器带宽:http://www.zrblog.net/15718.html
Debian BBR教程:http://www.hostloc.com/forum.php?mod=redirect&goto=findpost&ptid=342441&pid=4352551
搬瓦工VPS/OPENVZ加速工具KCPTUN:http://www.cmsky.com/kcptun/
利用FinalSpeed工具为VPS主机加速 – 安装及常用命令应用记录:http://www.laozuo.org/7720.html
安装net-speeder工具加速VPS主机及体验实际的速度性能:http://www.laozuo.org/7967.html
教程:开启TCP BBR拥塞控制算法 取代锐速的又一单边加速选择:https://www.91yun.org/archives/4216
锐速破解版linux一键自动安装包:https://www.91yun.org/archives/683
教程:CentOS更换内核,提供锐速可用内核下载:http://www.91yun.org/archives/795
五:总结
本篇文章总结了多个主流的服务器加速工具,适用于不同的架构和环境,不管原理如何其目的都是优化网络,希望本文对于有此需求的可以提供部分参考。博主掌握知识有限,如果有不足之处请以评论的方式指出。更新时间 2016年12月25日
VPS/服务器优化网络、加速方法总结与参考的更多相关文章
- Nginx 0.7.x + PHP 5.2.6(FastCGI)+ MySQL 5.1 在128M小内存VPS服务器上的配置优化
对其用户和应用程序来讲,每一个VPS平台的运行和管理都与一台独立主机完全相同,因为每一个VPS均可独立进行重启并拥有自己的root访问权限.用户.IP地址.内存.过程.文件.应用程序.系统函数库以及配 ...
- 几个 Ceph 性能优化的新方法和思路(2015 SH Ceph Day 参后感)
一周前,由 Intel 与 Redhat 在10月18日联合举办了 Shanghai Ceph Day.在这次会议上,多位专家做了十几场非常精彩的演讲.本文就这些演讲中提到的 Ceph性能优化方面的知 ...
- http应用优化和加速说明-负载均衡
负载均衡技术 现代企业信息化应用越来越多的采用B/S应用架构来承载企业的关键业务,因此,确保这些任务的可靠运行就变得日益重要.随着越来越多的企业实施数据集中,应用的扩展性.安全性和可靠性也 ...
- linux VPS服务器的一些配置
SSH密钥登录让Linux VPS/服务器更安全 2011年01月10日 上午 | 作者:VPSer 随着PHP越来越流行,Linux VPS/服务器的使用也越来越多,Linux的安全问题也需要日渐加 ...
- cdn网络加速
CDN全称Content Delivery Network,即内容分发网络.其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳定.通过在网络各处放置节点服 ...
- 自己搭建CDN服务器静态内容加速-LuManager CDN使用教程
为什么要自己来搭建一个CDN服务器实现网站访问加速?一是免费CDN服务稳定性和加速效果都不怎么行:二是用国内的付费CDN服务价格贵得要死,一般的草根站长无法承受:三是最现实的问题国内的CDN要求域名B ...
- [转载][转]修改/proc目录下的参数优化网络性能
原文地址:[转]修改/proc目录下的参数优化网络性能作者:雪人 网络优化 注意: 1. 参数值带有速度(rate)的参数不能在loopback接口上工作. 2.因为内核是以HZ为单位的内部时钟来定义 ...
- x86服务器中网络性能分析与调优 转
x86服务器中网络性能分析与调优 2017-04-05 巨枫 英特尔精英汇 [OpenStack 易经]是 EasyStack 官微在2017年新推出的技术品牌,将原创技术干货分享给您,本期我们讨论 ...
- centos7作为web服务器优化
centos7作为web服务器优化 原文 http://itindex.net/detail/51140-centos7-web-服务器 1.加大打开文件数的限制(open files) 查看 uli ...
随机推荐
- Android数据库 — — —查询数据
package com.example.datebasetest; import android.content.ContentValues;import android.database.Curso ...
- android开发虚拟机不能正常启动
点击 window---perspective---DDMS---查看设备状态, 如果显示没有可用设备,则在AVD manager中重 启即可, 若列表中有设备,但显示offline 可采用一下方式 ...
- C语言程序设计第九次作业
一.学习内容 本次课我们重点学习了怎样向函数传递数组,鉴于大家对函数和数组的理解和运用还存在一些问题,下面通过一些实例加以说明,希望同学们能够认真阅读和理解. 例1:火柴棍拼数字 ...
- @property? @property?说说他身后的事情。
@property 后面可以有哪些修饰符? 1.线程安全的 aaomic.nonatomic 2.访问权限的 readonly.readwrite 3.内存管理(ARC) as ...
- 在web中使用windows控件,实现摄像头功能
最近做的一个Web版的视频会议项目,需要在网页中播放来自远程摄像头采集的实时视频,我们已经有了播放远程实时视频的使用C#编写的windows控件,如何将其嵌入到网页中去了?这需要使用一种古老的技术,A ...
- (转载)android炫酷实用的开源框架(UI框架)
可以实现一些场常用炫酷效果,包含android-lockpattern(图案密码解锁).Titanic(可以显示水位上升下降的TextView).Pull-to-Refresh.Rentals-And ...
- iOS给UIimage添加圆角的两种方式
众所周知,给图片添加圆角有CALayer的cornerRadius, 比如: 最直接的方法: imgView.layer.cornerRadius1=110; imgView.clipsToBou ...
- 基于mongodb的python之增删改查(CRUD)
1,下载mongodb的python驱动,http://pypi.python.org/pypi/pymongo/,根据操作系统和python平台版本选择相应的egg或exe安装. 2,新建一个py脚 ...
- Linux 和 Windows 常用工具列表
1. Windows 篇 1)MobaItem 一款优秀的Windows下模拟Linux Terminal工具,同时也可以用来远程Linux服务器. 2. Linux 篇 2) MC Linux下非常 ...
- RSA不限长度非对称加密解密C#
RSA 分段加解密[解决“不正确的长度”的异常] RSA 是常用的非对称加密算法.最近使用时却出现了“不正确的长度”的异常,研究发现是由于待加密的数据超长所致. .NET Framework 中提供的 ...