【原创】大众点评监控平台cat的性能分析
由于工作的原因,或者说我们之前内部监控设计和实现有点不满足现有的研发需求,所以调研了一下大众点评开源出来的cat这一套监控系统。
今天我们就来实验一把,cat的客户端埋点在我们的程序流程中上报数据到cat的服务端这个流程对我们程序性能的影响。
测试工具
Jmeter
测试环境
Cat部署在内网192.168.84.27,内存6G,CPU 4核
单台cat和单台dubbo
代码
原接口代码
public String kongjiekou() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
JSONObject object = new JSONObject();
object.put("msg", "这是一个空接口");
return object.toJSONString();
}
埋1个点接口代码
public String kongjiekou() {
Transaction transaction = Cat.newTransaction("inner", "kongjiekou");
try {
Cat.logMetricForCount("kongjiekou");//埋一个点
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
Cat.logError(e);
} finally {
transaction.complete();
}
JSONObject object = new JSONObject();
object.put("msg", "这是一个空接口");
return object.toJSONString();
}
埋100个点接口代码
public String kongjiekou() {
Transaction transaction = Cat.newTransaction("inner", "kongjiekou");
try {
for (int i = 0; i < 100; i++) {
Cat.logMetricForCount("kongjiekou"+i);//埋100个点
}
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
Cat.logError(e);
} finally {
transaction.complete();
}
JSONObject object = new JSONObject();
object.put("msg", "这是一个空接口");
return object.toJSONString();
}
统计数据
Dubbo中的kongjiekou接口原先并发效率
|
并发量(1s) |
平均耗时(ms) |
耗时中位数(ms) |
错误率 |
|
100 |
1036 |
1023 |
0.00% |
|
500 |
2009 |
1955 |
0.00% |
|
1000 |
3069 |
3032 |
0.00% |
接入cat客户端埋1个点之后
|
并发量(1s) |
平均耗时(ms) |
耗时中位数(ms) |
错误率 |
|
100 |
1061 |
1040 |
0.00% |
|
500 |
2154 |
2085 |
0.00% |
|
1000 |
3352 |
2955 |
0.00% |
接入cat客户端埋100个点之后
|
并发量(1s) |
平均耗时(ms) |
耗时中位数(ms) |
错误率 |
|
100 |
1143 |
1024 |
0.00% |
|
500 |
2333 |
2285 |
0.00% |
|
1000 |
3435 |
2920 |
0.00% |
并且在多次性能测试过程中,内存占用情况并没有明显升高,CPU也是正常的执行时长高到正常值,执行后恢复,每次的内存和CPU峰值都相差无几。由于研发内网的带宽本身就极不稳定,所以带宽指标这里先不做判定。
总结
从以上结果得出初步结论,cat的监控埋点对被监控程序本身的性能的影响可忽略不计。
【原创】大众点评监控平台cat的性能分析的更多相关文章
- 大众点评开源分布式监控平台 CAT 深度剖析
一.CAT介绍 CAT系统原型和理念来源于eBay的CAL的系统,CAT系统第一代设计者吴其敏在eBay工作长达十几年,对CAL系统有深刻的理解.CAT不仅增强了CAL系统核心模型,还添加了更丰富的报 ...
- 大众点评Java开发实时应用监控平台-CAT
CAT介绍 CAT是基于Java开发的实时应用监控平台,包括实时应用监控,业务监控. CAT作为大众点评网基础监控组件,它已经在中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等)中得到广泛应 ...
- Java生鲜电商平台-API请求性能调优与性能监控
Java生鲜电商平台-API请求性能调优与性能监控 背景 在做性能分析时,API的执行时间是一个显著的指标,这里使用SpringBoot AOP的方式,通过对接口添加简单注解的方式来打印API的执行时 ...
- 大众点评APP分析随笔
移动APP:大众点评 一.最核心功能:店铺评价功能,用户可以通过此功能对商家进行评分,也可以获取其他人对商家的评分信息. 二.核心功能满足的需求: 1. 去过商家消费的用户:用户已经体验的商家提供的产 ...
- 一款类似loadRunner的优秀国产压力测试工具——kylinTOP测试与监控平台
市面上流行的压力/负载/性能测试工具多是来自国外,近年来国内的性能测试工具也如雨后春笋般崛起,但大部分产品是基于Jmeter开源内核包装起来的性能测试工具,其中也不乏佼佼者,如:kylinTOP测试与 ...
- 搭建大众点评CAT监控平台
CAT(Central Application Tracking)是基于Java开发的实时应用监控平台,包括实时应用监控,业务监控.关于CAT的具体介绍可移步到CAT官网进行查阅. 1. 环境清单 C ...
- 大众点评CAT开源监控系统剖析
参考文档: 大众点评的实时监控系统分析(一) CAT_source_analyze 透过CAT,来看分布式实时监控系统的设计与实现 深度剖析开源分布式监控CAT [分布式监控CAT] Client端源 ...
- 【转】大众点评CAT开源监控系统剖析
https://www.cnblogs.com/yeahwell/p/cat.html 参考文档: 大众点评的实时监控系统分析(一) CAT_source_analyze 透过CAT,来看分布式实时监 ...
- 大众点评cat实时监控简介及部署
简介 背景 CAT(Central Application Tracking)是由吴其敏(前大众点评首席架构师,现携程架构负责人)主导设计基于Java开发打造的实时应用监控平台,为大众点评网提供了全面 ...
随机推荐
- Enum Helper
public static class EnumHelper { #region get /// <summary> /// 获得枚举类型所包含的全部项的列表 /// </summa ...
- UICollectionView使用以及与UITableView的区别
在开始前我们在这先附一段最简单的代码 - (void)viewDidLoad { [super viewDidLoad]; UICollectionViewFlowLayout *layout = [ ...
- awk引用外部变量及调用系统命令方法
目标:想用awk与scp命令批量传送文件 前提:先搭好主机间的免密登陆环境(参考:http://www.cnblogs.com/tankaixiong/p/4172942.html) 实现脚本方法: ...
- Oracle客户端+PLSQLDeveloper实现远程登录Oracle数据库
Oracle数据库功能强大.性能卓越,在造就这些优点的同时,也导致Oracle占内存比较多.针对这个问题,我们如何做到取其精华去其糟粕呢? 解决方案:我们可以在局域网内的服务器上安装庞大的Oracle ...
- 在一个XAML中点击按钮,界面跳转到另一个XAML界面方法
private void ButtonGo_camerapage(object sender, RoutedEventArgs e) { this.Content = new cameraPage() ...
- 重新想象 Windows 8.1 Store Apps (82) - 绑定: DataContextChanged, TargetNullValue, FallbackValue, UpdateSourceTrigger
[源码下载] 重新想象 Windows 8.1 Store Apps (82) - 绑定: DataContextChanged, TargetNullValue, FallbackValue, Up ...
- ex_KMP--Theme Section
题目网址: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=110060#problem/B Description It's time f ...
- 【洛谷 P3385】模板-负环(图论--spfa)
题目:有一个图有N个顶点,M条边.边用三个整数a b w表示,意思为a->b有一条权值为w的边(若w<0则为单向,否则双向).共T组数据.对于每组数据,存在负环则输出一行"YE5 ...
- PHP学习笔记:等比例缩放图片
直接上代码,imgzip($src,$newwid,$newhei)这个函数带进去的分别是原图片.缩放要求的宽度.缩放的长度.代码都备注了,不懂可以留言哈哈 <?php //压缩图片 缩略图 $ ...
- JS创建对象、继承原型、ES6中class继承
面向对象编程:java中对象的两个基本概念:1.类:类是对象的模板,比如说Leader 这个是泛称领导,并不特指谁.2:实例:实例是根据类创建的对象,根据类Leader可以创建出很多实例:liyi,y ...