腾讯mini项目-【指标监控服务重构】2023-08-28

今日已办

分工

  1. 测试 - 谢雨晨、郑兆隆
  2. 将1的测试结果记录整理为一个表格,列有:平均内存、最大内存、95内存、cpu的这些等等 - 邓烨钒
  3. HyperScan和官方正则库的benchmark对比 - 张锐添
  4. PPT制作 - 其他人
  5. 灵活调动

进度

  1. trace上报:jaeger-collector和signoz-collector的cpu、内存,数据库存储大小
  2. trace查询:signoz-web的url压测某条trace,得到耗时
  3. metric上报:otel-collector和signoz-collector的cpu、内存,数据库存储大小
  4. hyperscan和go官方库的benchmark对比

  1. collector测试:trace-40% metric-40%
  2. 查询测试:20%
  3. ppt:60%

Prometheus

grafana - How to get the 95th percentile of an average in Prometheus? - Stack Overflow

HTTP API | Prometheus

腾讯mini项目-【指标监控服务重构】2023-08-28_第1张图片

Grafana 配置 Prometheus

PPT流程

  1. 项目介绍:

    1. 介绍项目解决什么问题,重点是为什么有这个项目。- 肖泽鑫2分钟
    2. 分多一页讲hyperscan和waterwill任务。- 张锐添1分钟
  2. 成果展示:

    1. 简单简单展示otel功能,一页ppt。- 邓晔钒 30秒视频+30秒介绍
    2. 重点放在各种表格上,你们做的性能对比证明otel更优。然后按照周六对齐的成果部份顺序展示:
      1. 岑煜森 2分钟
      2. collector cpu、内存对比 30
      3. es和ck 存储大小 30
      4. web-url 耗时查询性能 30
      5. hyperscan、waterwill 30
  3. 项目难点:举例最多3个你们遇到的问题和解决办法,每个一两页PPT

    1. 郑兆隆 & 谢雨晨
    2. 1个人 服务部署 1.5分钟
    3. 1个人 测试 1.5分钟
    4. 。。。
  4. 组员分工:每个人准备一到两页PPT介绍自己在项目中负责的部份

    1. 每个人 1一页 8分钟

明日待办

  1. 继续完成测试的结果
  2. 完善PPT和结果展示

新测试报告

我们打算在 10 万到 100 万之间摸一个不会丢的量以及合适的并发量,作为不同 collector 测存储和查询的前提

我们能不能固定一个数量,然后使用相同的代码来上报相同的trace(只是可以控制线程睡眠时间)来调整耗时,让两种collector都能完整的上报所有数据,保证不会丢失,最后来计算存储大小

Trace-Collector

腾讯mini项目-【指标监控服务重构】2023-08-28_第2张图片

collector 测试上报span数 / w test耗时 / s 实际存储span数目 / w cpu_age / % cpu_95th / % mem_avg / MB 存储容量 / MB
jaeger-collector 100 337.5 100 26.65 29.66 40.80 1239.04
jaeger-collector 100 338.01 99.95 26.66 30.12 40.39 1239.04
signoz-collector 100 573.04 101 31.26 36.94 269.25 450.53
signoz-collector 100 533.67 99.88 33.44 37.76 307.94 456.17
signoz-collector 100 543.27 104.5 32.71 36.04 293.42 453.66
otel-collector 100 336.16 100 5.49 6.11 67.15 68.74
otel-collector 100 336.54 100 5.79 6.03 68.43 68.61
cpu_avg(%) cpu 95th(%) mem_avg(B) size (MiB) 备注 上报耗时(s)
signoz-trace 36.00 151.75 1334004344 450 协程数=100;每个2000x5个spans(每个span间隔为55毫秒),上报100万,丢失=0 557.067
signoz-trace 36.29 147.21 1473282048 451.3 协程数=100;每个2000x5个spans(每个span间隔为55毫秒),上报100万,丢失=0 557.03
signoz-metric 61.32 177.06 284539984 2.56 每个2000x3个不同类型的指标(间隔为80毫秒),上报60万,sample_v2 行数=99万 163.357
signoz-metric 57.25 176.35 272792398 2.77 每个2000x3个不同类型的指标(间隔为100毫秒),上报60万,sample_v2 行数=130万左右 203.351
otel-trace 8.01 9.96 214051636 69.81 协程数100,span上报间隔20ms 207.766
otel-trace 8.04 9.73 221531567 69.81 协程数100,span上报间隔20ms 207.836
otel-metric 23.02 41.66 300469474 11.22 协程数100,metrics上报间隔20ms,上报共60万条 43.160
otel-metric 19.55 40.59 309937719 11.18 协程数100, metrics上报间隔20ms,上报共60万条 43.110

Metric-Collector

腾讯mini项目-【指标监控服务重构】2023-08-28_第3张图片

collector test耗时 / s 实际存储列数/行数 / w cpu_age / % cpu_95th / % mem_avg / MB 存储容量 / MB
signoz-collector 103.46 104.20 37.43 40.20 52.11 0.92
signoz-collector 103.44 103.81 37.40 40.86 53.24 0.87
otel-collector 103.42 31.02 39.71 46.89 152.53 5.88
otel-collector 103.49 31.04 39.51 45.70 159.33 5.86

Web

腾讯mini项目-【指标监控服务重构】2023-08-28_第4张图片

web-url ms
signoz-web 37.71
signoz-web 39.63
signoz-web 37.80
signoz-web 38.09
signoz-web 38.75
signoz-web 35.79
signoz-web 35.67
signoz-web 37.29
signoz-web 33.09
signoz-web 37.29
grafana 54.77
grafana 76.72
grafana 62.03
grafana 58.10
grafana 67.44
grafana 78.71
grafana 65.15
grafana 59.85
grafana 60.63
grafana 65.55
jaeger-web 38.31
jaeger-web 39.84
jaeger-web 36.85
jaeger-web 35.23
jaeger-web 35.93
jaeger-web 38.14
jaeger-web 33.24
jaeger-web 31.12
jaeger-web 41.13
jaeger-web 31.26

你可能感兴趣的:(腾讯mini项目,go,prometheus,clickhouse)