C端方案
C端系统或者软件有比较成熟的质量和性能监控方案和体系,比如错误上报与报警系统、加载速度与上报系统。曾经工作的电商研发团队,日活千万级别,大促期间数亿,对系统的稳定性要求极高,比如5个9指标
那是如何保证的呢?其中一个方案流量变化的报警系统
- 正常情况下某功能(比如首页、购物车等)流量是比较平稳的
- 当页面异常(比如页面收到运营商劫持)流量锐减,此时报警系统会直接发短信、打电话给响应的负责人
- 根据错误日志分析问题,快速解决
对于性能一般指的是核心页面的访问速度,比如首页首屏速度800ms等指标,这会纳入我们的KPI考核,团队长每周会核对核心页面的当前速度和预期速度,所以以前会经常加班解决速度问题。常见的方案如下
- 服务端渲染
- 图片多域名等
- 资源预加载
- HTTP2.0
- 图片压缩与懒加载
- ...
这些数据在C端系统很容易拿到,但是对本地化的B端系统,客户对数据的安全很敏感,很难拿到这些数据。因此我们经常会和客户不停的交流来追问问题的场景和复现方案,但是大部分场景可能客户也描述不清,经常一个简单的问题需要浪费很长时间来解决,这对客户体验和用户满意度有很大的影响。
B端方案
那如何解决呢?
- 现场售后人员排查
- VPN或者远程软件排查(查询日志或者前端报错)
如果在客户侧也无法实时查看错误日志该怎么办呢?那就需要增强质量和检查方案,我们尝试了以下方案
-
本地模拟环境的自动化测试与错误上报
在本地有一套和客户联调测试的系统,每天把核心流程通过自动化测试的方式跑几遍及时发现问题和上报异常数据,这种方案的缺点是环境不是客户的真实环境,只能排查一些已知场景和流程的异常。
-
异常系统sass化
在客户侧本地化部署一套自研异常系统,当有异常的时候给负责人发邮件或者短信。客户收到异常的时候会告知我们,再通过远程工具或者VPN登录到客户本地化的异常系统定位问题。这种方式成本较高也需要客户的积极配合,一般用于核心客户且使用系统的频率较高。
总结
以上是我经历或者尝试的B端和C端系统质量和效率监测方案,C端相对成熟,B端比较难做。但好在B端流量一般较小,可以与客户沟通,最终也可以给客户比较满意的解决。如果有好的方案欢迎评论区交流~