天天看點

應用性能管理與鍊路追蹤的關系

應用性能管理APM(Application Performance Monitoring)經常和分布式追蹤同時出現,但兩者卻有着明顯的差異。APM由來已久,已經有十幾年的曆史,自最早的以WebLogic為代表的J2EE應用出現開始,APM就逐漸受到了各大廠商的重視,并作為商業軟體的組成部分被提供出來。

APM系統為單體式應用和分布式應用提供了全面的可視化展現建議、性能分析建議、性能診斷和優化建議,為開發團隊、運維團隊提供了正常監控體系之外的保障。随着分布式應用監控難度的增加,應用性能問題的發現和定位變得越來越困難。

在分布式系統中,傳統的以日志為主的監控正在越來越多地被用來進行基礎設施、網絡環境的監控。而在應用層面上,日志監控基本失去了定位問題的能力,尤其是上雲之後,網盤逐漸成為主流,日志的有效性問題、寫入壓力和成本問題凸顯出來。

這便對 APM 系統提出了越來越高的要求,分布式追蹤、非侵入式的語言探針、輕量化、低延遲分析,這些都是對新時代APM提出的基本要求,也是對傳統APM系統的挑戰。

  • 分布式追蹤

分布式追蹤能完成日志監控的絕大部分功能,提供更好的使用記憶體而非檔案系統,解決性能定位問題。Google、Twitter等各大公司都在這個領域投入了極大的精力。

  • 非侵入式的語言探針
  • 輕量化
  • 低延遲分析