前端性能优化(二) · 监控平台如何选

性能优化总体思路

性能优化这件事我觉得应该是这样的思路,这篇就来讨论 step2~3,(^-^)V

定义需求

首先看看性能我们能关注到的都有哪些,其实广义的性能也包括了稳定性 ⚖ 和安全性 🔐 。

一般情况下,不同的网站类型关注的点不一样,这个要结合具体的业务去定。假设我们就是一个官网页面,我们就拿以下两个举例吧

监控方案技术选型

选型之前我们需要捋一捋我们关注点关联的原因,我们对这些原因也需要监控。这样,当表现不好时,我们才能基于监控平台的数据去做分析,要不然我们只是看个结果,啥都分析不出来更无法优化了。

  • 首屏时间:监听前端静态资源加载的耗时、接口的耗时、节点无变化的时间点。
  • 白屏率:我们关注的白屏是资源加载结束后,那也就是说我们关心的白屏情况是首屏的,并且由错误引起的,排除了网速过慢的原因。由此推断我们需要监听的是 JS 错误、接口错误。 所以最后我们需要平台具有至少以下5个内容的监控

服务链路啥意思? 如果接口调用链路很长,不是浏览器-接口(直接读取数据库)-浏览器,这样简单的流程;而在接口这步骤里面又有xxx服务-xxx服务-xxx服务-数据库,甚至是树状的,只是浏览器端无感知,那么接口这部分的监控会更复杂,要对整个链路中每一个调用环节都具备失败率和耗时的监听。

一般来说接入监控了,我们不可能无时无刻盯着那么多细节吧,所以呢,监控平台得有这3种能力

让监控上一个level,一般QA都会配合去解锁这三个技术动作,不过这种需要贴近业务功能的,一般监控平台很难具备这样的能力。

ok,已经清楚需要啥了!到了货比三家了,比啥呢?

  • 监控内容完备性:有些平台你想要的都自动采集,不用手动写代码,更方便咯
  • 大盘&报警配置的灵活性:有些平台大盘没办法自定义,five!有的报警没办法配波动,只能是绝对值,不好用!
  • 错误追踪&分析能力:有个JS报错,想找到源码哪个位置报错,好不好找呢。白屏率这么高想多维度看看分布情况,比如地区、设备类型、浏览器版本能不能看到呢。
  • 社区支持性:感觉监控的数据和预期差太多,想知道是不是使用的姿势不对,没人理你,不能选!
  • 费用:啥啥都满分,但是贵,性价比还是要考虑滴

Sentry VS 111 VS 222

说了这么多都是做事的方法,如果想直接看到底该选哪个,okok,给自己挖个坑,对比一下第三方的各类监控平台。不过一般公司基建有这个东西,都直接用公司的。毕竟在社区支持和费用上肯定是满分了。

接入监控

接入监控的方式通常取决于具体平台,平台样子大概是酱紫

Sentry 接入

假装第三方平台对比之后选了Sentry。待补充

相关推荐
zhoupenghui1683 分钟前
golang时间相关函数总结
服务器·前端·golang·time
White graces17 分钟前
正则表达式效验邮箱格式, 手机号格式, 密码长度
前端·spring boot·spring·正则表达式·java-ee·maven·intellij-idea
庸俗今天不摸鱼18 分钟前
Canvas进阶-4、边界检测(流光,鼠标拖尾)
开发语言·前端·javascript·计算机外设
奔跑吧邓邓子21 分钟前
【Python爬虫(36)】深挖多进程爬虫性能优化:从通信到负载均衡
开发语言·爬虫·python·性能优化·负载均衡·多进程
web1350858863541 分钟前
全面指南:使用JMeter进行性能压测与性能优化(中间件压测、数据库压测、分布式集群压测、调优)
jmeter·中间件·性能优化
bubusa~>_<42 分钟前
解决npm install 出现error,比如:ERR_SSL_CIPHER_OPERATION_FAILED
前端·npm·node.js
流烟默2 小时前
vue和微信小程序处理markdown格式数据
前端·vue.js·微信小程序
梨落秋溪、2 小时前
输入框元素覆盖冲突
java·服务器·前端
菲力蒲LY2 小时前
vue 手写分页
前端·javascript·vue.js
天下皆白_唯我独黑2 小时前
npm 安装扩展遇到证书失效解决方案
前端·npm·node.js