webrtc應用上線cpu偏高的問題排查
現象

如上圖, 上線后服務全量使用的cpu統計明顯增高, 大概在50%左右.
排查
- 比對上一穩定版本和本次版本代碼diff, 無異常
- 比對依賴lib版本, 無異常
- 使用perf和FlameGraph 生成火焰圖比對兩個版本差異. 發現幾個問題: 有些調用棧不同, 缺少一些中間函數調用棧; 新版本在音頻處理過程中消耗cpu明顯增大100%.
- 感覺看火焰圖看不出來什么眉目, 突然想起來可能是配置錯了? config沒有改變, 編譯的debug和release倒是沒有關注過. 使用release重新編譯了一把, cpu降低了下來.
老版本火焰圖:

新版本火焰圖:

結果
之前沒有考慮過O0和O3 對服務的影響有多大, 現在看來, 編譯優化還是對線上服務影響很大的. release比 debug版本cpu使用率高50%左右!

浙公網安備 33010602011771號