别慌,这只是一张贴图前端
除了404,最让网友们心塞的可能就是这张图了。java
据相关研究代表:当页面加载时间从 1 秒到 3 秒,跳出的机会增长了30%左右。1s到5s的机会增长到90%,若是你的网站须要10s的加载,跳出的机会将会超过120%。(这里的120%不是指来10我的,走12我的,是用户流失增加率的意思)因此,在这个“用户体验为王”的时代,应用性能监控已经成为运维管理的重中之重。数据库
网站卡顿、页面加载慢是互联网应用常见的问题之一,这类问题的排查和解决并不容易,会花费运维人员大量的时间和精力。一般缘由有如下三个:bootstrap
» 应用链路太长,无从下手。服务器
从前端页面到后台网关,从Web应用服务器到后台数据库,任何一个环节的问题都有可能致使请求总体卡顿,究竟是前端资源加载过慢?仍是数据库出了问题?仍是新发布的服务端代码有性能问题?出现问题的缘由五花八门。架构
采用“微服务”架构的应用,链路更加复杂。不一样组件可能由不一样的团队、人员分别维护,加重了问题排查的难度。并发
» 日志不全或质量欠佳,现场缺失。app
应用日志无疑是排查线上问题的神器,但出现问题的位置每每没法预期,发生了问题一般会发现日志信息不全,由于咱们不可能在每个有可能出现问题的地方打印日志。运维
“慢”的定义偏主观,“慢”有时候每每也是偶发现象。真正要捕捉到“慢”的那一行代码,咱们每每须要记录每一次调用,不放过每一行代码,但这样的作法代价太大。微服务
» 监控不足,出现问题为时已晚。
业务发展快、迭代速度更快,会致使业务系统频繁修改接口、增长依赖、代码质量恶化。若是没有一个完善的监控体系,可以对应用的每个接口的性能进行全自动的监控,对出现问题的调用进行自动的记录,等用户反馈问题再来解决,自己就已经太迟了。
业务实时监控服务 ARMS(Application Real-Time MonitoringService)是一款阿里云应用性能管理(APM)类的全链路监控产品。ARMS提供了针对Java 应用监控和诊断、车联网实时监控、零售行业实时监控、用户体验监控等场景下全方位的监控功能,包括前端监控、应用监控和自定义监控等功能,快速构建实时的业务监控能力。
第一步:安装Java探针(若是您的应用托管于EDAS,甚至能够跳过这一步 )
第二步:在应用概览中发现“慢”可疑线索
进入ARMS应用拓扑图。在应用概览中咱们可以明显地看到今天系统中有“慢SQL”5次。
第三步:浏览并发现“慢接口”
点击接口列表,咱们可以一眼看到这个应用提供的全部接口以及这个接口的调用次数和耗时,固然,这些接口都是ARMS的探针自动在程序中发现的,无需作任何配置。
在这些接口中,“慢”接口会被明显标注出来。咱们很明显地发现了可疑的慢接口。
选中左侧的调用次数最多的”慢”接口,咱们能够从右侧看到此次调用明显是“慢”在数据库的调用上。
第四步:到底“慢在哪一行代码”? 一键定位缘由!
第五步:防患于未然-- 设置告警
固然,您能够在ARMS的告警设置中对某一个接口或所有接口设置告警,让页面接口出现卡顿时第一时刻通知到您的运维团队。
固然除了网站卡顿、页面加载慢之外,网站还会出现后台报错、页面加载失败、内存泄漏等一系列问题。如何利用ARMS快速解决更多网站疑难杂症,请关注咱们的 ARMS 系列文章 - “网站常见问题1分钟定位”。