webrtc应用上线cpu偏高的问题排查

现象

 如上图, 上线后服务全量使用的cpu统计明显增高, 大概在50%左右. 

排查

  1. 比对上一稳定版本和本次版本代码diff, 无异常
  2. 比对依赖lib版本, 无异常
  3. 使用perf和FlameGraph 生成火焰图比对两个版本差异. 发现几个问题: 有些调用栈不同, 缺少一些中间函数调用栈; 新版本在音频处理过程中消耗cpu明显增大100%.
  4. 感觉看火焰图看不出来什么眉目, 突然想起来可能是配置错了? config没有改变, 编译的debug和release倒是没有关注过. 使用release重新编译了一把, cpu降低了下来.

老版本火焰图:

 新版本火焰图:

 

结果

之前没有考虑过O0和O3 对服务的影响有多大, 现在看来, 编译优化还是对线上服务影响很大的. release比 debug版本cpu使用率高50%左右!

posted @ 2023-12-11 10:37  yushimeng  阅读(220)  评论(0编辑  收藏  举报