热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我也来对比下pinpoint和skyWalking

从UI、跟踪粒度、JVM监控这三个方面对pinpoint和skywalking做了

首先,上个别人的研究成果,我也是踩着巨人的肩膀继续前进的。

技术图片

随着pinpoint版本的迭代更新,这图上的结论有些已经过时了,比如pinpoint方面:
1.协议,最新2.1.0版本也是默认使用gRPC的;
2.TraceId查询,最新2.1.0版本也是支持的;
3.发布包,最新2.1.0版本同样也是采用jar包部署的;

所以,没有什么是一层不变的,唯一不变的应该是我们的学习热情和决心。

接着说我们今天具体要对比的内容:


1. UI比较

对于我这种有点颜控的人来说,pinpoint的UI看上去更加的美观、友好、方便,pinpoint确实胜skywalking好几分,来两张图,各位看官自己比较。
技术图片

技术图片

skywalking的这个仪表盘貌似还有个问题,我如何查看过去某段时间内性能的表现情况呢?只能看当前时间段的吗?


2.跟踪粒度

看完了外观,我们再来对比下它们各自的内功,毕竟这类工具是要干活的,光当花瓶没有用,关键时候得派的上用场才行。

同样,我们先上两张图,来看看pinpoint和skywalking的跟踪粒度如何。
技术图片

技术图片

可以看出pinpoint可以监控到每个链路过程的耗时情况,包括SQL执行耗时、第三方服务响应耗时等,甚至连SQL的变量参数都跟踪出来了。

而skywalking只监控到了接口耗时,并没有监控更多一点的链路耗时信息,有群友告知说skywalking能监控到方法级,但是需要侵入代码,在每个要跟踪的方法上面加注解,所以我直接放弃了,因为这样的代价实在太大了点。而且即使监控到方法级,也只能知道哪个方法慢了,方法下面可能还有数据库调用、第三方方法调用等,还是没法定位出真正的问题。所以skywalking这款APM监控工具,个人理解,更多地是用来监控接口响应耗时并提出告警,至于具体的性能问题嘛,只能通过其他手段再进一步定位了。

所以,在监控粒度上面,skywalking差pinpoint不是一点半点,这是差了好几个量级啊。


3. JVM监控

接下来我们再来对比下这类APM工具的另外一个非常好用的功能,监控JVM。

这边就简单罗列下它们都能监控到那些JVM指标:

































































































监控内容pinpointskywalking
Heap Usage支持支持
Non Heap Usage支持支持
JVM/System CPU Usage支持支持 (JVM CPU)
Transactions Per Second支持支持
Active Request支持支持(calls per minutes)
Total Thread支持
Response Time支持支持
Open File Descriptor支持
Direct Buffer Count支持
Direct Buffer Memory支持
Mapped Buffer Count支持
Mapped Buffer Memory支持
Loaded Class Count支持
Unloaded Class Count支持
Data Source支持
GC count支持
GC time支持

从上面对比结果来看,pinpoint在JVM监控方面要更强大得多,比如对Thread、Open File Descriptor、Data Source的支持,尤其是Data Source,实在是太方便了,数据库连接池的使用情况一目了然。

而skywaling的唯一得分点,是支持GC指标的查看。


4. 性能损耗

既然pinpoint跟踪粒度比skywalking详细了好几个量级,那么对应地,它的性能损耗是否要大得多呢?翻看有些网友(比如下面参考链接)的测试结果,pinpoint的性能损耗可以达到50%左右,这也太恐怖了,但是根据官方宣传,它的性能损耗是在3%以内的,那么到底谁是靠谱的呢?

本人主要是从事性能压测工作的,平时都是开着APM在做压测的,并没有感觉会有很大的性能损耗,总体损耗应该在8%以内,并且性能测试结果指标还都蛮OK的,所以,对于性能损耗这块,我对pinpoint还是挺有信心的。贴个官方性能损耗说明
技术图片


5. 总结

今天,我主要从UI、跟踪粒度、JVM监控这三个方面对pinpoint和skywalking做了个人使用体验上的对比,从对比结果来看,pinpoint无论在操作简便性还是性能问题定位上,还是要优胜于skywalking的。毕竟作为一款APM工具,能够更好更快更全面地发现性能问题,才是它们最大的价值所在。

也可能是我对skywalking了解的还太肤浅,还没发现skywalking真正的强大和美好。各位如果持有不同看法和意见的,欢迎留言探讨。

参考链接:https://www.jianshu.com/p/626cae6c0522

我也来对比下pinpoint和skyWalking



推荐阅读
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • 探索Java 11中的ZGC垃圾收集器
    Java 11引入了一种新的垃圾收集器——ZGC,由Oracle公司研发,旨在支持TB级别的内存容量,并保证极低的暂停时间。本文将探讨ZGC的开发背景、技术特点及其潜在的应用前景。 ... [详细]
  • 本文探讨了使用普通生成函数和指数生成函数解决组合与排列问题的方法,特别是在处理特定路径计数问题时的应用。文章通过详细分析和代码实现,展示了如何高效地计算在给定条件下不相邻相同元素的排列数量。 ... [详细]
  • 网络流24题——试题库问题
    题目描述:假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算 ... [详细]
  • 利用无代码平台实现高效业务应用开发
    随着市场环境的变化加速,全球企业都在探索更为敏捷的应用开发模式,以便快速响应新兴的商业机遇。然而,传统的软件开发方式不仅成本高昂,而且耗时较长,这往往导致IT与业务部门之间的合作障碍,进而影响项目的成功。本文将探讨如何通过无代码开发平台解决这些问题。 ... [详细]
  • 本文探讨了程序员这一职业的本质,认为他们是专注于问题解决的专业人士。文章深入分析了他们的日常工作状态、个人品质以及面对挑战时的态度,强调了编程不仅是一项技术活动,更是个人成长和精神修炼的过程。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 在日常生活中,支付宝已成为不可或缺的支付工具之一。本文将详细介绍如何通过支付宝实现免费提现,帮助用户更好地管理个人财务,避免不必要的手续费支出。 ... [详细]
  • publicclassBindActionextendsActionSupport{privateStringproString;privateStringcitString; ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • 本文介绍了如何在AngularJS应用中使用ng-repeat指令创建可单独点击选中的列表项,并详细描述了实现这一功能的具体步骤和代码示例。 ... [详细]
author-avatar
mobiledu2502889953
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有