告别野路子,

性能大牛锤炼之路从这里开始

华为云企业级项目实战平台

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应用监控基本流程:

  1. 安装Skywalking的JavaAgent到被测服务器进行信息采集;

  2. 将采集到的信息发送给Skywalking-OAP服务;

  3. Skywalking-OAP服务将数据写入到Elasticsearch数据库;

  4. 通过浏览器访问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的安装及使用,如有不明白的请进群发问。


以上需要用到的文件及安装文档会在下篇文章中给大家分享出来!

关注【性能小课】公众号,干货多多

性能小课公众号