APM这个英文缩写,对网游玩家代表着手速,对血拼族代表着全天候购物中心,对网站站长代表了三大开源软件Apache+PHP+MySQL。而对于所有提供互联网服务的企业和创业者来说,APM是Application Performance Management,翻译成中文是应用性能管理,是全面提升用户体验,解决居高不下的用户流失率的一大法宝。
一个栗子搞懂什么是APM
当我们的身体出现问题时,只有CT才能在几分钟内给患者完成从头到脚的全身扫描,从而准确发现病灶,为后续的治疗提供准确的依据。
今天的互联网就像人体一样强大而复杂,一款看似简单的网络应用,需要服务器、存储、系统、应用环境、网络和用户电脑/手机设备的一系列支持,才能顺畅运行。当应用发生故障时,比如用户无法登录、页面打不开、搜索没结果,谁来帮助我们快速而准确的定位应用的问题?
APM就像是部署在互联网上的CT扫描设备,通过SDK采集用户端数据,通过监控点采集网络数据,通过探针采集服务器上各种软硬件环境数据,然后利用大数据技术把采集到的数据进行快速诊断分析,发现影响应用性能的“病灶”,并给出诊断建议。
一种声(Tou)音(Su)告诉你为什么需要APM
在产品运营的整个生命周期里,我们的反馈系统收集到的用户声音,80%说的不是应用无法打开的可用性问题,而是在投诉应用慢、点击没反应之类性能问题。
“慢”,就像“癌细胞”,在悄悄的吞噬应用的生命力,偷走用户。
然而应用的“慢”同样如“癌细胞”,最难发现和诊断,当你感知到它,常常为时已晚。用户的电脑、手机的运行环境、内存大小、系统甚至程序间的兼容问题可能让应用“慢”下来;国内复杂的网络环境和参差不齐的上网方式会拖累应用查询的响应速度;至于服务器、数据库更是运维人员照顾的重点。此外还有代码,一条有问题的语句,可能会损耗掉应用数百毫秒响应时间。
一个用户行为的事件流,比如登录,从用户操作发出命令,经过网络传输,到服务器和数据库返回数据,再通过网络回传到应用端,哪一个环节的延误,给用户的感知都是一个字“慢”。当响应时间超过5秒,50%移动应用用户会放弃操作,30%用户会卸载你的应用,33%失望的用户会转向竞争对手的应用。
要解决“慢”问题,必须有一种“快”手段,这就是APM。
通过APM,企业能够从被动响应用户投诉,变为主动发现应用在真实用户场景下的各种延迟问题,根据APM的分析报表,运维、开发、运营协同处理,把应用的“癌变”消灭于萌芽,让流畅的用户体验把用户留住。