Temporal 监控分析&性能治理

Task

监控

性能

优先级

完成度

系统负载能力high
压力测试middle
任务积压middledoing
仪表盘分析middle
组建优化middle
业务细粒度监控middletodo

目前的风险点及后续规划思考

  1. 目前没有一个地方能直观看到 Temporal Server 到底能扛多大业务量(属黑盒)
  2. 实时的积压情况,什么时候该扩容,什么时候该调整
  3. 业务接入后无法及时判定是否正常(客诉、报警)
  4. 无细粒度的监控(请求率、错误率、延迟)

延迟优化

1、系统负载能力(吞吐量):每秒完成的工作流数量=> 状态转换操作(持久化写入)

2、请求时间性能调优

  • History
    • 分片锁的延迟:Temporal 使用分片在历史 Pod 间划分命名空间工作流历史的责任,每个 Pod 管理一组分片。每个工作流历史记录属于单个分片。在创建或更新工作流历史记录之前,必须获取片锁。分片数量越大,锁争用越少
    • 解法:调整 Shards 数
  • Matching
    • 计划延迟:请求任务的时间和处理任务的时间之间将会存在延迟
      • 同步匹配:从其内存中向其传递任务。如果内存中某个任务的时间过长,则该任务将刷新到持久性数据库
      • 异步匹配:持久性数据库的任务需稍后再次加载以交给轮询器
    • 解法:调整内存和 Pods 数

监控报警

1、任务积压

  • taskQueue 级别的监控(metrix 指标)

2、压力测试

  • 一般数据库为瓶颈
  • 关注指标:schedule_to_start_latency

仪表盘统计分析

  • 服务指标
    • 对服务使用情况的基本可见性,允许查看跨服务、名称空间甚至操作的请求率:service_requests, service_errors和service_latency
      • 包含字段:类型、操作和名称空间
  • 持久性指标
    • 每个操作的请求率、错误率或延迟:persistence_requests, persistence_errors和persistence_latency
  • 工作流执行统计
    • 工作流执行完成的总体统计:workflow_success, workflow_failed, workflow_timeout, workflow_terminate, workflow_cancel      

业务监控

  • 改写 Worker.Option 代码,配置默认采集项
  • 封装 SDK 统一接入
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值