栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

SkyWalking--介绍/说明/官网/指南

SkyWalking--介绍/说明/官网/指南

原文网址:SkyWalking--介绍/说明/官网/指南_IT利刃出鞘的博客-CSDN博客

官网

官网:Apache SkyWalking
github:https://github.com/apache/skywalking
官网博客:博客 | Apache SkyWalking

官方测试网址:https://github.com/SkyAPMTest/

简介

说明

        Skywalking是由国内开源爱好者吴晟(原OneAPM工程师,目前在华为)开源并提交到Apache孵化器的产品,它同时吸收了Zipkin/Pinpoint/CAT的设计思路。特点是:支持多种插件,UI功能较强,支持非侵入式埋点。目前使用厂商最多,版本更新较快。

        数据存储支持:Elasticsearch、MySQL、H2、TiDB。默认是H2,而且是存到内存。实际我们一般将其存到ES。

SkyWalking的两个服务

SkyWalking启动之后,会启动两个Java服务:Skywalking-Collector、Skywalking-Webapp

  1. Skywalking-Collector:追踪信息收集器,通过 gRPC/Http 收集客户端的采集信息 ,Http默认端口 12800,gRPC默认端口 11800。
  2. Skywalking-Webapp:管理平台页面,默认端口 8080

拉取模式和推送模式

        Agent(客户端)收集数据并将其推送到后端,再对数据进一步分析,我们称之为“推送”模式。SkyWalking即便使用了推送模式,同时也可进行数据拉取。在最近的8.x的发版本中,SkyWalking支持从已经集成Prometheus的服务中获取终端用户的数据。

性能

官方性能测试:https://github.com/SkyAPMTest/Agent-Benchmarks/blob/master/README_zh.md

用例1:高并发量

        这里一个常见的基于Spring的应用程序,他包含Spring Boot, Spring MVC,模拟的redis客户端,HikariCP连接池(匹配模拟的mysql客户端)。 监控这个应用程序,每个事务,探针会抓取5个span(1 Tomcat, 1 SpringMVC, 2 Jedis, 1 Mysql)。

请注意:我们这里提到了模拟客户端,之所以我们不使用真正的客户端,是因为,如果这样,服务端性能和网络的波动,会造成应用程序的tps不稳定,从而影响测试结果。如:mysql或redis服务器的配置,网络交换机性能,都会影响客户端性能,而这不是我们的测试目的。所以,我们要避免这种干扰因素。

这是一个近乎不可能的高流量应用

        我们模拟500并发用户,设置思考时间为10ms。而我们将应用性能设计的十分优秀,每秒能满足5000tps。

        可以看到,探针进行监控时,针对一个负荷在200%以上的应用,只提高了10%的CPU负荷。并且我们不需要开启任何采样策略(注:当然skywalking是支持采样的),所以我们使用每秒要将超过5000个trace segment收集并发送到collector上。显然,skywalking探针拥有极高的性能。如大家所知,在一个x86服务器上的单应用实例,不太可能拥有如此之高的吞吐能力,除非,他内部是直接访问类似redis这样的高速缓存。即使如此,探针对tps和响应时间,也不会造成任何影响。

        也就是说,在超高吞吐能力的服务器上,使用探针进行监控,也只是会消耗多一点点CPU,并不会影响应用性能。

        老实说,一个单实例的应用,正常的tps都在100到1200之间。据我所知,即使是中国强大的电信和电商系统,单实例处理能力,也不过如此。所以,你真的不必担心探针的性能问题。

用例2:低并发量

        这个应用和用例1类似,但是我们做了一些调整,让他更像真实的应用。如我所说,用例-1只是一种证明极限的方法(后面还有更变态的用例☺)。这次,我们模拟300并发用户,将tps稳定在1000,当然,这也是很高的吞吐量了。CPU消耗会比之前明显降低,仅仅消耗6%。

你可以看到,探针对TPS和响应时间,依然没有影响 。

组件支持

其他网址

官方的组件支持测试: https://github.com/SkyAPMTest/agent-integration-test-report

说明

SkyWalking可以支持如下组件的追踪:

  • Redisson
  • JdkHttp
  • Mysql
  • Spring-RestTemplate_Annotation_RestAnnotation
  • JettyClient_JettyServer
  • Vert.x
  • Strut2_H2
  • PostgreSQL
  • Spring-Async
  • OKHttp3
  • ActiveMQ
  • GRPC
  • MongoDB
  • Light4J
  • Elasticsearch
  • Httpasyncclient
  • RocketMQ
  • Httpclient
  • Gson
  • Jedis
  • Feign
  • Hystrix
  • spring-webflux
  • spring-gateway
  • Motan
  • RESTEasy
  • Zookeeper
  • Undertow
  • Lettuce
  • Pulsar
  • Skywalking-Header
  • Kafka
  • Undertow-Routing
  • Canal
  • solrj
  • RabbitMQ
  • Dubbox
  • Cassandra
  • Dubbo
  • SpringMVC
  • apm-toolkit-trace
  • Play
  • Servicecomb
  • ShardingSphere
  • Customize
  • jdkCrossThread
  • SOFARPC
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/278405.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号