之前在介绍LayerStack时,考虑到我司自身业务的使用需求,也购买了一台位于香港的ARM架构云主机,至今也有5个月了,一直配合CloudFlare使用,体验也还可以。但是这段时间接到许多客户的反馈说官网无法打开,经测试发现在首次打开网站时,有非常大的概率是会加载失败的,而如果在这时候刷新一下就又能恢复访问了,可能的原因还是Cloudflare在国内水土不服的原因导致的。
Cloudflare水土不服不是我能处理的,为了保障公司业务的正常运行,我决定直接在现有服务的基础上购买CN2中国直连线路,直接拉直到中国大陆的路由。
没有采取其他CDN厂商或其他方案的原因,是出于对效率和风险的取舍,个人认为直接拉直电信的回程路由,比叠加外部buff要更有效。
开通CN2直连线路前后对比
在没有开通CN2中国直连线路时,国内方向去程路由来看,三网是走各自的直连线路,在倒数第二跳时,都有非常低的延迟,如下图所示,电信去程走了CN2,但在最后一跳却出现了高延迟和丢包:
而回程方面则有不同,移动线路是直连CMI回程,联通线路是大部分时间直连4837回程,而电信线路则是163线路绕美国回程(抱歉,没有截到图
),这也就解释了为什么电信线路去程跟踪路由的最后一跳,会突然增加至几百毫秒的延迟。
CN2直连回程很有必要吗?
在不考虑电信访客的前提下,是可以不开通CN2直连线路的,因为移动和联通都是走了各自的直连线路回程,并不会有多大影响,而电信访客在非高峰期的体验也都还不错,但毕竟是公司使用,要照顾所有访客的使用体验(尤其是位于深圳办公室的老板
),那么这笔钱就需要掏了。
所以这个问题要这么看,如果你的访客大部分是海外用户,那么你可以不用开通CN2,国内用户也还能凑合用,实在不行可以单独找个CTG线路的VPS做个反代,单独给国内电信用户使用。但这势必会增加一些不确定性和复杂度(要不要加缓存?缓存还要不要刷新?宕机了怎么办?)。
如果访客里面有计划包含国内用户,而且也不想折腾DNS分区+买多一台大陆优化线路的VPS做反代,那么购买LayerStack自带的CN2直连线路服务就非常有必要了,作为懒人的我,就这样直接开通了。
那么CN2开通之后有哪些变化?
首先一点,国内方向的速率会降低,在没开通CN2之前,电信用户回程绕美,在Layerstack看来,这属于是除香港外的国际带宽限制范畴,这个速率限制我在官网没有找到具体的数值,但我们可以做几个测试:
测试环境是这样的,LayerStack运行iperf3 -s服务端模式,测试机分别从香港、美西、深圳三地依次运行客户端模式连接上来测速,使用的命令为:
iperf3 -c layerstack_ip -p 5201 -P 8 -R
开通CN2之前
首先是港内带宽,至少是有8Gbps
然后是国际带宽,测试机在美西,得到的速率至少是有2Gbps
最后是从深圳(电信线路)进行测试,时间在工作日的早上10点前后,速率也能去到750Mbps
开通CN2的动作,我猜测LayerStack的处理方式就是把源IP是大陆的直接丢给CN2的回程路由里,不让它走国际路由就好了。
开通CN2之后
付费后不到1分钟,不用重启网络也不用换IP,CN2回程路由直接就好了,同样进行一波测试,港内带宽和国际带宽并不会因CN2的开启而受影响,仍然可以跑非常高的速率,因此直接跳过,只测国内这边的速率。
CN2的带宽比较小,实测下来从深圳测速,速率降到了6.7Mbps。
那么是只有电信的速度降下来了吗?按回程路由看,移动和联通都是走各自的回程路由,理应不受CN2带宽的影响,所以需要实测看看。
我没有移动和联通的宽带接入,因此这里的测试方式就直接使用双卡的5G手机,分别切换上网卡,在Termux上运行iperf3客户端模式进行测试,这里就不贴图了,直接给结论:在开启CN2之后,三网速率都降到只有6Mbps的水平。
国际速率不受影响,而CN2通道的速率,则有可能是浮动的,在后面长期测试发现,速率在5-15Mbps之间浮动。
CN2直连线路值得开通吗?
这要根据你的实际跑的业务决定,如果你是跟我一样是放企业网站的,而且对网页打开速度尤其看重,那么开启CN2线路之后,国内三网的访客体验都会提升很多,6Mbps的速率对于一个企业网站来说,绰绰有余,当然如果你觉得这个速率仍然不够满意,可以考虑增加内地方向的专属带宽。
另外在开通之后,国内方向的网络稳定了很多,抖动很小,比如这前后的对比图:
最后来说说我为什么选择layerstack
作为一个企业网站,而且还是个国内的企业,原则上是要在国内走备案流程,使用国内服务器。那么为什么还要选择香港本土的服务商?我只能说挺无奈,个人归结成几个原因:
- 放在第一位的原因,是因为我司使用的域名后缀,在国内没法走备案流程,不在可备案的域名后缀清单里面,但又不得不用。
- 我司的客户在全球范围都有分布(咳~),需要尽可能保证全球都有不错的访问体验。但国内的网络稳定程度,大洋彼岸的访客体验是不会太好的。
- 国内服务器的带宽都不太大,大的都按流量计费,我司不愿在这种IaaS上投入太多不必要的资金,万一被哪位大哥盯上了,一晚上下来就得破产。
- 国内轻量云这种服务形式,我也有使用过,虽然它可以规避流量计费无止境的问题,性能上也都还可圈可点,但我是真不喜欢把端口速率一刀切的这种操作,限制30Mbps,就真的是到哪都30Mbps,这与他们说的要为该地域所在本土用户服务的初衷多少有些出入的。
- 基于基础成本考虑,同等性能,同等存储,单价低的获胜。在国内花我一个月的费用,足够我在layerstack买一年的机子随便玩了。
所以,不用备案+网络稳定+带宽足够+成本原因,是我选择layerstack的原因。
以上。
您也可以联系文章作者本人进行修改,若内容侵权或非法,可以联系我们进行处理。
任何个人或组织,转载、发布本站文章到任何网站、书籍等各类媒体平台,必须在文末署名文章出处并链接到本站相应文章的URL地址。
本站文章如转载自其他网站,会在文末署名原文出处及原文URL的跳转链接,如有遗漏,烦请告知修正。
如若本站文章侵犯了原著者的合法权益,亦可联系我们进行处理。
hi6个月前0
请问有详细一点的自己搭建的教程吗你好7个月前0
你好,可以再帮我看看吗? 我已经按照你的方法设定了,还是一样,wordpress后台的 Purge Varnish Cache 插件还是清除不到cache,依旧显示 the varnish control terminal is not responding at。谢谢https://mjj.today/i/Srk2Tz https://mjj.today/i/Srkcoi你好7个月前0
对,你说的没错,我配置的时候改了一些东西,现在我按照你的教学,可以启动了,网页可以缓存了,不过wordpress 清除cache 那个插件没用的,我输入本地回环地址127.0.0.1 :6082 ,再输入API key ,插件显示the varnish control terminal is not responding at 127.0.0.1:6082,就你图片那样,然后试一下点击清除cache 那里,他显示error,研究了一天,还是没有不行。你好7个月前1
你好,为啥我按照你的方法,到第三部分,去到真正后源的服务器设定Varnish 部分,我填了真正后源的IP跟端口跟域名,然后重启 Varnish ,就出现这样了? 这是怎么回事? 谢谢[Linux] AMH 7.1 https://amh.sh[varnish-6.6 start] ================================================== =========== [OK] varnish-6.6 is already installed. Could not delete 'vcl_boot.1713549650.959259/vgc.sym': No such file or directory Error: Message from VCC-compiler: VCL version declaration missing Update your VCL to Version 4 syntax, and add vcl 4.1; on the first line of the VCL files. ('/home/usrdata/varnish/default.conf' Line 1 Pos 1) ...#---Running VCC-compiler failed, exited with 2 VCL compilation failedchu7个月前0
很完善的教程‘hu7个月前0
我用gmail EMAIL_SERVER="smtp://********@gmail.com:bpyfv*********chry@smtp.gmail.com:587"叽喳7个月前0
MAIL_SERVER="smtp://no-reply@vort.me:password123@wednesday.mxrouting.net:587"大佬 这个使用outlook 或者gmail 是什么样子的格式? 邮寄已经开启smtp了hu7个月前0
输入框的问题解决了,我没有设置反代,NEXTAUTH_URL改为域名+端口就好了