溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Kubernetes應用性能分析工具Kubectl Flame怎么用

發布時間:2021-10-28 18:59:59 來源:億速云 閱讀:186 作者:柒染 欄目:系統運維

這期內容當中小編將會給大家帶來有關Kubernetes應用性能分析工具Kubectl Flame怎么用,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

什么是性能分析?

性能分析是分析應用程序性能來改進代碼質量的常用方法,最流行的可視化性能分析方法是生成火焰圖。

Kubernetes應用性能分析工具Kubectl Flame怎么用

基于 Spring 框架的 Java 應用的火焰圖

y軸是堆棧深度,x軸跨越樣本總體。每個矩形都是一個函數,其中寬度顯示它出現的頻率,從左到右的排序并不重要 (堆棧按字母順序排序)。

Kubernetes 上的性能分析

性能分析是一項較為復雜的任務,大多數探查器有兩個主要問題:

  •  需要修改應用程序,通??梢酝ㄟ^將標志添加到執行命令或將一些性能分析庫導入代碼中來實現。

  •  由于在分析過程中會嚴重影響性能,因此通常避免在生產環境中進行性能分析。

選擇正確的探查器可能會解決這些問題,但是這需要仔細去進行研究,并且通常取決于編程語言和操作系統。

在 Kubernetes 集群中運行的應用程序上執行分析時,會變得更加困難。需要部署一個包含配置文件修改的新容器鏡像,而不是當前正在運行的容器。此外,當應用程序重新啟動時,某些性能問題可能會消失,這就使得調試變得困難。

Kubectl flame

Kubectl Flame 是一個 kubectl 插件,可以以較低的開銷生成火焰圖?來分析應用程序性能,無需進行任何應用程序修改或停機。

項目倉庫地址:https://github.com/VerizonMedia/kubectl-flame

安裝

可以通過 Krew 來安裝 kubectl flame 插件,一旦安裝了 Krew,就可以通過如下命令進行安裝:

$ kubectl krew install flame

使用要求

  •  支持的語言:Go、Java(任何基于JVM的語言)、Python 和 Ruby

  •  使用 Docker 作為容器運行時的 Kubernetes 集群(已在 GKE,EKS 和 AKS 上測試)

運行原理

kubectl-flame 通過在與目標容器相同的節點上啟動一個探查器來啟動性能分析,大多數探查器將與目標容器共享一些資源:比如通過將 hostPID 設置為 true 來啟用 PID 命名空間共享,通過掛載 /var/lib/docker 并查詢 overlayFS 來啟用文件系統共享。

在后臺kubectl-flame使用 async-profiler 來為 Java 應用程序生成火焰圖,通過共享/tmp文件夾與目標 JVM 進行交互,Golang 則支持基于 ebpf 分析,Python 支持基于 py-spy 進行分析。

Kubernetes應用性能分析工具Kubectl Flame怎么用

kubectl flame 概述

使用實例

 1.  分析 Kubernetes Pod

分析 Java 應用 mypod 1分鐘,并在將火焰圖保存到 /tmp/flamegraph.svg:

$ kubectl flame mypod -t 1m --lang java -f /tmp/flamegraph.svg

  2.  分析基于 alpine 的容器

在基于 alpine 的容器中分析 Java 應用程序需要使用 --alpine 標志:

$ kubectl flame mypod -t 1m -f /tmp/flamegraph.svg --lang Java --alpine

注意:僅 Java 應用程序需要此 --alpine 標志,而 Go 分析則不需要該標志。

  3.  分析 sidecar 容器

包含多個容器的 Pod 需要將目標容器指定為參數:

$ kubectl flame mypod -t 1m --lang go -f /tmp/flamegraph.svg mycontainer

上述就是小編為大家分享的Kubernetes應用性能分析工具Kubectl Flame怎么用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女