今天看啥  ›  专栏  ›  GoCN

Go 语言-计算密集型服务 性能优化

GoCN  · 公众号  ·  · 2024-11-14 11:22
    

文章预览

背景 项目背景 worker 服务数据链路图 worker 服务消费上游数据(工作日高峰期产出速度达近  200 MB/s ,节假日高峰期可达  300MB/s  以上),进行中间处理后,写入多个下游。在实践中结合业务场景,基于 快慢隔离 的思想,以三个不同的 consumer group 消费同一 Topic,隔离三种数据处理链路。 面对问题 worker 服务在高峰期时 CPU Idle 会降至 60%,因其属于数据处理类计算密集型服务,CPU Idle 过低会使服务吞吐降低,在数据处理上产生较大延时,且受限于 Kafka 分区数,无法进行横向扩容; 对上游数据的采样率达  30% ,业务方对数据的完整性有较大诉求,但系统 CPU 存在瓶颈,无法满足; 性能优化 针对以上问题,开始着手对服务 CPU Idle 进行优化; 抓取服务 pprof profile 图如下: go tool pprof -http=:6061 http://「ip:port」/debug/pprof/profile ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览