问答 如何验证跨地域(城市/海外)网络对于服务的影响;qnet/云手机/找朋友帮忙各有利弊,期待更成熟方案

郑义 · 2021年08月23日 · 最后由 郑义 回复于 2021年08月29日 · 4043 次阅读

背景:公司的服务器在北京,有几个广州的用户反馈前端会出现加载失败现象
问题:目前已在部署 CDN,如何验证跨地域(距离较远城市/海外城市)网络对于服务的影响?

目前的方案:
1、弱网工具模拟:qnet 提供了跨城市场景,但它的跨城市场景本质上是基于腾讯大数据基础上获取到的弱网场景(延迟/丢包/限制)的组合
优势:qnet 能够模拟特定的弱网场景,比如延迟、丢包、限速等;
劣势:毕竟不是真实链接,无法说明采用 CDN 之后,用户侧真正的表现

2、真人实际验证:找各地的朋友/服务商帮忙
优势:链接场景真实,能够获取到真实数据
劣势:“朋友” 没那么多,也没那么空

3、云设备模拟:云手机(虚拟机)
优势:某云设备服务商的 IP 是重庆,满足重庆到北京的需求(也提供了定位修改能力,但定位不代表 IP)
劣势:无法选择其他城市

期望的效果:
1、随意切换:能够自如的选择特定城市的网络(包括海外)
2、真机操作:能够进入 PC 浏览器页面,采集到控制台、network 等数据

共收到 9 条回复 时间 点赞

可能这个问题太没挑战了。。

有什么技巧/方法/套路 能让大家参与吗?

云拨测能够解决你问题,但是前提有预算

零渡 回复

感谢,网上找了某服务供应端的示例,这个应该算是一种数据收集。
但看下来,这个应该类似于线上用户使用时的事件数据上报?而非提前(主动)进行检测?

郑义 回复

这只是个运维监控的手段,能发现触发阀值后提醒,但还是会存在个例,根据我们公司过往经验总结,让客服话术引导,切换网络、切换设备尝试,不行可以让客服联系拉群了解用户使用情况并查看你们日志情况,更多如境外访问的我们用阿里云开通服务解决大部分境外访问卡顿问题,这样我们会把我们访问资源给阿里那边提工单测试协助处理。

“境外访问的我们用阿里云开通服务” 指的是阿里云的境外服务器吗?

零渡 回复

监控方面我们目前有采用 Sentry 和 pinpoint,再结合内部大数据的数据上报

目前担心的点主要还是在于找不到方式来评估上线后异地/境外网络的影响,缺少主动发现的能力

郑义 回复

从你的需求看,你不满足于模拟,对真实度要求很高。说实话,这么高的真实度,除了真实在那个地点有一个网点外,别无它法。然后手机能请求的,电脑一定也可以。这样就不局限于手机,可以看各家云厂商的机房都有分布在哪些城市的,在各个城市的机房都开一个虚拟机,当做当地网点。不过机房网络和移动网络的路由还是有差异的,无法真正做到一致。

但我觉得你是否可以换一个思路,不一定要主动发现(说实话,日活高的话,主动发现和监控发现差别也不过几十秒,甚至只要几秒。从发现问题角度,没啥差别,这几秒你也不可能完成回滚或者重新上线),而是在影响更小的情况下完成数据采集,以及快速响应解决问题?

如果按这个思路,数据采集可以这么做:
结合地域流量控制的灰度发布,只放指定城市(可以通过 ip 过滤)的 xx% 流量,看监控数据是否有波动预警

解决问题可以这么做:
多准备几家 CDN 厂商,发布时同时发布。日常流量策略优先给在当地表现好的厂商,少量给表现一般一些的(作为监控手段),如果发现监控有问题,立马调整流量策略,增大到其他备份 CDN 厂商的比例。

感觉云服务的落地确实是比较抽象的一件事。。。

陈恒捷 回复

感谢,相对体系化的回复。这些想法很棒,打算整理整理后反馈给项目组,尤其是灰度策略与机制,具备很强的操作性。

发这个贴也是想看看,目前有没有类似的云服务提供商,能够还原出预期的场景。
如果没有,那么就如同 @ 陈恒捷 @ 零渡 你们说的,在监控(上报更多的数据)层面做文章了

再次感谢 @ 陈恒捷 @ 零渡 的热心回复

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册