告别野路子,
性能大牛锤炼之路从这里开始
华为云企业级项目实战平台
365天*24小时为学员免费开放
六大实战项目,性能场景全覆盖
10月10日,性能33期不见不散
面试问题:
1、你们的监控方案怎么设计的?如何分析定位响应时间慢的问题?
2、线程阻塞、压力上不去、内存泄漏的问题你是怎么定位的?
这个最常见的问题,很少有回答让面试官满意的,来吧,这里给你答案。
这篇文章讲解响应时间拆分的环境部署,下篇文章介绍如何定位JVM线程阻塞问题。
这套环境你能部署下来,薪资多要3K以上没问题!
Skywalking——目前最强悍的全链路分布式性能管理监控方案,监控平台涵盖前端页面,Java, .Net Core, PHP, NodeJS, Golang, LUA, C++等。
不懂响应时间拆分,你敢说会做性能测试?不过从今天开始你就会啦
话不多说,先来几张课堂上的项目实战效果图:
1、链路监控的起点——浏览器
基于前端页面的业务访问模型和性能数据统计,一目了然,之前只能在收费APM中才有的功能,现在也可以尽情使用啦!
Skywalking对前端监控的资料非常少,有不少甚至是错误的,如需帮助可以加群或者微信留言。
2、后端应用及微服务平台监控
1)调用关系拓扑图
2)响应时间分解图
拆分响应时间是分析和定位瓶颈的关键所在,有了它,分析、定位瓶颈就有底气了。
是不是很高大上?是不是很心动?开干,先把环境搞起来!
3、监控架构解析
1)官方监控架构
官方的架构图很详细,也很高大上,再来个慧测实战项目简化版的。
2)慧测实战项目监控简图
举例说明一下Java应用监控基本流程:
安装Skywalking的JavaAgent到被测服务器进行信息采集;
将采集到的信息发送给Skywalking-OAP服务;
Skywalking-OAP服务将数据写入到Elasticsearch数据库;
通过浏览器访问Skywalking-UI服务,即可看到炫酷的数据展示界面。
整体架构主要包括三个部分:
探针(Skywalking-Agent)
负责进行收集数据,包括Tracing和Metrics的数据,agent会被安装到服务所在的服务器上,以方便数据的获取。如果基于Docker环境部署项目,强烈建议制作项目镜像文件时将对应探针一并打包,慧测的实战项目平台就基于这种方式,非常简单、方便。(如果不清楚怎么做,可以微信给我留言)。
可观测性分析平台(Skywalking-OAP)
接收探针发送的数据,并在内存中使用分析引擎(Analysis Core)进行数据的整合运算,然后将数据存储到对应的存储介质上,比如Elasticsearch、MySQL数据库,建议使用Elasticsearch。
数据展示界面(Skywalking-UI)
炫酷的界面,Skywalking提供单独的UI界面进行数据的查看,通过UI调用OAP提供的接口,获取对应的数据然后进行展示。
4、监控平台环境部署实战
强烈建议采用docker-compose一键安装,省时、省心、省力、没烦恼。考虑到篇幅和容错问题,这里把docker-compose.yml的截图发出来,需要源文件及相关部署文档的小朋友请进公开课学习交流群②下载!
将docker-compose.yml上传到Linux指定目录,终端执行如下命令即可安装完成:
docker-compose up -d
基础环境搭建完成后,接下来就是安装不同应用的探针(Agent)了。
关于docker及docker-compose的安装及使用,如有不明白的请进群发问。
以上需要用到的文件及安装文档会在下篇文章中给大家分享出来!
关注【性能小课】公众号,干货多多