听说最近“主要看气质”一词以迅雷不及掩耳盗铃之势火爆社交圈, 极客君作为一个有点fashion的geek, 当然也要来凑一次热闹了。
不过,作为一个geek, geek范儿还是要有的,当然不能晒晒自拍了事,那极客君来给大家扒一扒APM两种模式的气质吧。
首先,是哪两种模式?---主动式(主动监测) & 被动式(被动检测)
科学的解释是:
主动监测: 搭建分布式受控环境,模拟用户发起页面访问请求,主动采集性能数据并分析。
被动检测:页面植入脚本或探针,当用户访问网页时,探针自动采集数据并回传数据库进行分析。
翻译成通俗白话是:
两者都是在用户访问页面时采集性能数据并加以分析,不同的是,一个是当有真实用户发起访问时采集,一个是假装成真实用户主动发起访问然后采集。
我说假装成真实用户,你就以为是上面那样,戴上头套和墨镜就出场了???
其实,真实的用户场景复杂多变, 比如用户是用360浏览器, 还是IE, 或者Chrom?是用电脑进行访问,还是用手机,或是pad? 是在北京发起访问,还是在东京,西雅图? 甚至你网络的上行速率?下线速率?
所有这些因素,在模拟真实用户时统统都要考虑在内!!!技术门槛高是毋庸置疑的,再加上数据高精准度的要求,真实“难于上青天”矣。
PS: 我们目前看到的APM解决方案,大多都是被动式的,比如听云,oneAPM,云智慧都属于被动式阵营,只有博睿还有性能极客属于主动式阵营。
APM服务商 | 听云 | OneAPM | 云智慧 | 博睿 | 性能极客 |
模式 | 被动式 | 被动式 | 被动式 | 主动式 | 主动式 |
好了,理解了这两种模式,那接下来就来看看他们的气质吧~
各种气质大PK 主动式 vs 被动式
1:经济适用气质
主动式 | 搭建分布式环境需要硬件投入,有一定硬件成本 |
被动式 | 无需硬件投入,在被测页面植入脚本或探针即可,成本小 |
2:安全隐私气质
主动式 | 无需植入探针或脚本,完全没有侵入性、安全性、隐私性方面的担忧 |
被动式 | 需植入探针到代码中,有侵入性、安全性、隐私性方面的担忧,需要技术人员配合 |
PS: 在系统里装探针或脚本去采集性能,这种方式在国外接受度会高一点,目前在国内,因为对各种层面的风险的担忧,包括数据会不会被窃取了,应用安全能不能保证啊等等,接受起来相对困难一点,尤其是一些对数据隐私性要求较高的行业,比如金融等。
3:大数据气质
主动式 | 受控环境,有更高权限,可以采集真实页面加载速度(符合人脑视觉感知), 数据不受干扰,另外数量代表性强,符合80/20法则,可以让企业用20%投入影响80%的性能,投入产出比高 |
被动式 | 只能采集基础的网络和浏览器事件数据,无法采集用户感知数据,比如实际页面加载速度,另,因环境不可控(用户不可控),所采集的数据虽然体量大,但是有很强的干扰性。 |
4:用户属性气质
主动式 | 虽可全球布点,但地区/网络/浏览器覆盖率不如被动式 |
被动式 | 真实用户数据(最后一公里),地区/网络/浏览器的覆盖率高 |
5:预警气质
主动式 | 可监控未发布版本,特别适合尚未正式发布的应用性能自检,另外,可设置长期监控和实时预警,在问题暴露给真实用户之前发现并解决问题 |
被动式 | “先访问,后采集”的模式下,问题已经存在,并暴露给了真实用户,不能提前预警。 |
6:自动化气质
主动式 | 可自动化,并可集成到开发流程进行持续迭代, 监控和预警也可自动化,无需人工操作 |
被动式 | 无法自动化,依赖用户人工操作。 |
六个维度分别一对一PK后, 气质更佳的是谁呢?(极客君站主动式!)
以上纯属极客君个人YY,如有雷同实属巧(事)合(实)!
对了,主要看气质,没有自拍怎能成?