应用性能调优,需要借助一些APM(应用性能管理)工具,帮助理解系统行为、用于分析性能问题;
目前主要的一些 APM 工具有: Cat、Zipkin、Pinpoint、SkyWalking,这里主要介绍 SkyWalking ,它是一款优秀的国产 APM 工具,包括了分布式追踪、性能指标分析、应用和服务依赖分析等。
Skywalking中文文档:欢迎 | Skywalking 6.2.0中文文档
安装部署
下载地址:Downloads | Apache SkyWalking
环境需求:jdk版本在jdk8-jdk12之间(如使用es7的版本,则需要jdk11+)
确保如下端口可用:
11800:和Skywalking通信的gRPC端口
12800:和Skywalking通信的HTTP端口
8080:UI所占用的端口
安装:
1.解压压缩包,进入bin目录,./startup.sh启动;启动成功访问localhost:8080打开首页
2.使用(使用方式原理:基于java agent)
配置java agent:找到Skywalking包中的agent目录,agent目录结构如下:
+-- agent
+-- activations
apm-toolkit-log4j-1.x-activation.jar
apm-toolkit-log4j-2.x-activation.jar
apm-toolkit-logback-1.x-activation.jar
...
+-- config
agent.config
+-- plugins
apm-dubbo-plugin.jar
apm-feign-default-http-9.x.jar
apm-httpClient-4.x-plugin.jar
.....
skywalking-agent.jar
将其拷贝到任意位置
配置config/agent.config:
将agent.service_name修改成服务名称;
若Skywalking与服务部署在不同的服务器上,还需修改collector.backend_service的值,该配置用来指定服务与Skywalking通信的地址,默认是127.0.0.1:11800,按需修改即可。
启动应用
java -jar
启动的应用:
执行如下命令启动:java -javaagent:/opt/agent/skywalking-agent.jar -jar soft.jar
在idea中测试可参考下图:
启动成功,可通过访问系统http://localhost:8080查看skywalking首页变化,查看接口的访问情况,数据库的查询情况等
其他配置可查阅:https://github.com/apache/skywalking/tree/master/docs/en/setup