APM主动监测和被动检测的区别?
作为APM行业人员,这个问题必须要来回答一下~
被动检测:页面植入脚本或探针,当用户访问网页时,探针自动采集数据并回传数据库进行分析。
优点
1) 真实用户数据(最后一公里)
2) 地区/网络/浏览器的覆盖率高
3) 无需硬件投入,成本小
缺点
1)需植入探针到代码中,有侵入性、安全性、隐私性方面的担忧,同时也会造成一定程度性能损失
2)植入脚本只能采集基础的网络和浏览器事件数据,无法采集真实页面加载速度(符合人脑视觉感知)
3)问题已经发生,并暴露给了真实用户
4)无法自动化,依赖用户人工操作。
4)环境不可控,数据虽然体量大,但是也有很强的干扰性。
主动监测: 搭建分布式受控环境,模拟用户发起页面访问请求,主动采集性能数据并分析。
优点
1) 无需植入探针,没有侵入性、安全性、隐私性方面的担忧,也不会造成性能损失
2) 受控环境,获取更高权限,可以采集真实页面加载速度(符合人脑视觉感知)
3) 可监控未发布版本,在问题暴露给真实用户之前发现并解决问题
4) 可自动化,并可集成到开发流程进行持续迭代
5) 环境可控,数据干净,有很强代表性,符合80/20法则,投入产出比高
缺点
1)有一定硬件投入
2)采地区/网络/浏览器的覆盖率不如真实用户数据
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.