客户案例|雅森帮携手观测云,保障海量在线用户服务体验
案例精彩导读
雅森帮
雅森帮 www.yasnbang.com,是致力于帮助汽车后市场门店「开好店、卖好货」的互联网学习平台,提供在线商城、论坛、资料查询、视频课程、直播、会员俱乐部等服务。全国注册会员门店突破 20 万家,占整行业服务主体的 20%。
案例亮点
· 压测配合可观测,使用效果更佳
· 用全链路可观测,支持新发版持续优化
1. 简单介绍一下贵公司
雅森帮 www.yasnbang.com,是致力于帮助汽车后市场门店「开好店、卖好货」的互联网学习平台,提供在线商城、论坛、资料查询、视频课程、直播、会员俱乐部等服务。依托雅森集团汽车用品展览、AIT 汽车改装展 20 多年的用户沉淀,雅森帮官网和小程序于 2018 年 7 月上线。截至 2022 年 2 月,注册会员门店突破 20 万家,占整行业服务主体的 20%。会员遍及全国 30 多个省市自治区,其中一线城市付费会员占比达到 65.3%,市县城市付费会员门店占比超过 23%。
2. 原有的运维监控方式是怎么样的?
雅森帮的应用系统以公有云厂商提供的云产品作为主要基础资源平台,对应用系统的监控正在从 0 到 1 的建设过程中。原有监控主要依赖云产品自有的云监控功能,以及日志相关的云产品,数据分散在不同产品的监控平台。虽然我们觉得该采集的都采集到了,但是无法做关联分析,经常要在各个工具间跳转查询。
3. 怎么会关注观测云的?
一次偶然的机会从抖音上看到有人在推荐观测云(guance.com),可以免费注册试用,于是我们抱着试试看的态度去注册了一个账号。开通试用后,观测云团队联系到我们,做了进一步的介绍和演示。我们了解到观测云产品有比较全面的功能覆盖,包括从基础设施可观测、中间件可观测到应用系统的端到端全链路可观测等。同时,所有的数据都在统一的平台,可以做到数据间的相互关联和分析是比较有亮点的。
从成本上来看,观测云提供按数据量收费的 SaaS 版,可以按照自身系统监控需求来调整使用过程的数据量,方便控制成本,也是比较灵活的,还省去了我们要去维护监控工具本身占用的基础设施工作。
4. 观测云的主要使用场景有哪些?
先说下背景,雅森帮主要业务之一是面向汽车后市场服务,疫情之下,会员门店的客流量普遍骤减,面临生存危机了。雅森帮把线上直播作为常态化,为门店介绍新的盈利产品和项目,分享赚钱门店的生意经验,以此来帮助门店会员度过困难期。直播主要由直播流、弹幕、抢红包、抽奖及售卖产品等核心功能组成。为了保障整个过程的流畅性及稳定性,需要在大型直播前对系统相关功能做压测,从而能够发现可能存在的性能瓶颈点和潜在问题,提前做好优化。
同时,对新开发上线的服务接口,需要通过链路可观测来掌控其运行情况,比如是否存在慢接口或者出现异常,以及当出现问题时能够快速定位问题点。
l 场景一 压测效果跟踪
在直播的场景中,会通过 IM 系统在管理端发起红包、抽奖和热门产品等的推送。抢红包功能对我们平台的并发性及稳定性提出了巨大的挑战。为了保障功能服务在整个直播过程的稳定性和流畅性,我们会在直播前通过模拟 2.5W 用户访问来做系统压测。
在做压测前,通过观测云的应用性能监测功能接入了链路调用数据和日志数据。在做压测的过程,通过观测云提供的看板能快速直观地观测到后端服务的整体运行情况,通过类似 P75、P99 响应时间指标快速识别疑似存在性能瓶颈的服务调用。
通过进一步服务链路的下钻功能,能看到对应服务链路调用的细节数据,以及该服务调用过程中产生的关联日志数据。通过类似的数据关联分析,能够更加精准地定位到可能存在的问题点。
在本次压测中,通过观测云的应用性能监测功能,我们发现当系统处于高并发下,会出现了两个比较大的卡点:
首先,是历史代码在处理 auth 请求中,在某类用户请求会渗透到 db 中去,导致性能一直上不去。找到问题后,我们将这块数据放入 cache 之中,从而避免了线上因为这种未知情况把数据库打死而导致系统不可用。
其次,是在抢红包的过程中,当我们逐步提高并发数时,我们发现在有一步在操作 redis 时,响应时长在 20ms 左右,正常情况都是在小于 5ms。通过观测云的链路及配合链路日志,发现这一步操作有对 redis 进行一个 O(n) 的操作。在这种洪水般的高并发请求下,redis 的 O(n) 操作是致命的,团队通过内部讨论,找到新的解决方案将 O(n) 操作切换到 O(1) 操作,从而提升了系统响应速度。
以往压测的过程中没有全链路的观测能力,更多的是靠经验来做判断。很难发现一些比较隐蔽的潜在性能问题。现在,通过在压测过程中使用观测云的链路功能,帮助我们发现了一些平时不容易发现的问题,现在每天上班第一件事就是上观测云看看有没有慢查询,后续我们会把慢接口添加到报警功能中去。
l 场景二 全链路故障定位
为满足业务需要,在年初上线了一些系统新功能。在一些特定的业务场景下,会有大数据量产生和查询的场景。新功能上线运行不久后,就发生了宕机问题,情况比较紧急。
通过观测云中对系统运行历史数据进行快速的根因溯源,通过历史系统服务链路运行的状态数据,比较直观的找到了疑似相关的问题点。通过分析,很快就发现是个人中心功能中一个多表查询的接口出现了性能问题,导致请求堆积,最终触发系统宕机的发生。
通过进一步查看相关接口服务的链路详情,定位了慢查询对应的 SQL 语句。找到问题点后,开发团队进行了快速优化处理。迭代版本上线后,系统运行平稳,没有再出现类似的问题。
以前,新上线的服务功能出现问题,特别是涉及一些有复杂调用关系的服务,需要花费较长的时间来定位问题发生点。通过使用观测云,大大提高了对系统运行中突发未知问题的定位效率。对问题点及时地处理和优化,保障了生产系统的长期稳定运行。
5. 未来,对观测云的使用有什么规划吗?
借助观测云平台,在展会和直播活动前的压测场景中取得了比较好的实际效果,保障了活动期间系统正常稳定的运行。并且,对生产环境中的应用服务进行了有效的监控,实现了对服务运行状态的基本可观测。后续会进一步完善场景视图,优化监控告警实现对异常事件的即时感知,为业务系统保驾护航。
同时,从业务层面,对用户的行为轨迹有进一步挖掘的需求。下一步会尝试通过观测云的用户访问监测功能(RUM)获取用户在前端页面的行为数据,并结合观测云提供的 Function 函数平台对获取的 RUM 数据进行进一步的逻辑计算和分析,从而满足对客户行为分析的需求。
作者|雅森帮技术负责人——陈浪
观测云——涂程、高博怡、刘跃兰
关于观测云
观测云(www.guance.com),新一代云原生全链路数据可观测平台,国内首批获得中国信通院颁发的「可观测性平台技术能力」最高级别「先进级」认证,实现统一采集、统一标签、统一存储和统一界面,带来全功能的一体化可观测体验。观测云能全环境高基数采集数据,支持多维度信息智能检索分析,及提供强大的自定义可编程能力,使系统运行状态尽在掌控,故障根因无所遁形。
为帮助广大技术爱好者更好地了解全球技术趋势、可观测性最佳实践、观测云产品功能等前沿干货,我们特别成立了观测云官方社区交流群,为大家提供一个交流互动的平台。还没有入群的小伙伴,可以扫码加微信入群,一起参与到我们的技术社群来!
评论