Google近日在GCP的監控服務Stackdriver的效能管理工具APM中,推出新功能Profiler,能夠分析在正式環境下執行的應用程式效能,讓開發人員改善應用服務的效能,進而減少計算成本,Stackdriver Profiler目前是公開測試版本。

開發人員共通的課題就是如何讓應用變得更加快速且可靠,過去Google雲端平臺提供的監控Stackdriver Monitoring和日誌記錄Logging服務,是防止應用程式底層出錯安全問題的第一道防線, 但是,效能的問題卻是隱藏在程式碼中,Google內部的開發人員也了解要追蹤程式碼中的效能問題是非常困難的,尤其是正在執行的應用。

因此,Google這次推出自家內部用來監控和改善效能的管理工具APM(Application Performance Management ),APM是透過現有的追蹤記錄(Trace)和偵錯器(Debugger)服務所打造而成,能夠在不影響使用者的情況下,分析和除錯正在執行的應用。

Stackdriver Profiler可以讓開發人員評估應用的每一個函式,或是每一行程式碼對整體應用效能的影響,若不在正式的環境下分析程式碼執行的狀況,很容易會出現非預期性吃資源的情況,因而增加延遲性和成本,但是開發人員又找不到原因。

Google內部持續每天使用Profiler來找出應用中效能不佳的程式碼,可在所有的環境下分析程式碼的執行狀況,並透過統計方法將分析過程造成的影響最小化,讓開發人員找出程式碼效能的問題,改善效能減少成本,而不是增加不必要的運算力。

Stackdriver Profiler是利用輕量型的抽樣工具從應用的Instance中,每一分鐘針對一個Instance收集10秒的數據,數據收集和分析過程占用的整體CPU和記憶體資源不到5%。

經過分析後用圖表展示分析結果,橫軸顯示針對每個函式庫所選擇的分析項目,像是CPU時間、Wall時間、記憶體使用率、爭用資源等,垂直軸則依照每個函式的階層關係排列(如下圖,圖片來源:Google)。

Profiler的底層是Linux,目前可支援的GCP環境包括Compute Engine、Kubernetes Engine、App Engine等,支援的語言有Go、Java和Node.js,依照每個語言編寫的方式不同,能夠支援的分析項目也不太一樣。

除此之外,Google也宣布將Stackdriver偵錯器與GitHub企業版、GitLab整合,不管開發人員在哪一個環境下執行應用,都能透過統一的APM工具來監視程式運作的效能。


Advertisement

更多 iThome相關內容