偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

推薦一款Kubernetes應(yīng)用性能分析工具Kubectl Flame

系統(tǒng) Linux
性能分析是分析應(yīng)用程序性能來改進代碼質(zhì)量的常用方法,最流行的可視化性能分析方法是生成火焰圖。

 

什么是性能分析?

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

基于 Spring 框架的 Java 應(yīng)用的火焰圖

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

Kubernetes 上的性能分析

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

  •  需要修改應(yīng)用程序,通??梢酝ㄟ^將標志添加到執(zhí)行命令或?qū)⒁恍┬阅芊治鰩鞂?dǎo)入代碼中來實現(xiàn)。
  •  由于在分析過程中會嚴重影響性能,因此通常避免在生產(chǎn)環(huán)境中進行性能分析。

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

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

Kubectl flame

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

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

安裝

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

  1. $ kubectl krew install flame 

使用要求

  •  支持的語言:Go、Java(任何基于JVM的語言)、Python 和 Ruby
  •  使用 Docker 作為容器運行時的 Kubernetes 集群(已在 GKE,EKS 和 AKS 上測試)

運行原理

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

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

kubectl flame 概述

使用實例

   1.  分析 Kubernetes Pod

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

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

    2.  分析基于 alpine 的容器

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

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

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

    3.  分析 sidecar 容器

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

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

本文轉(zhuǎn)載自:「 k8s技術(shù)圈 」,原文:http://t.cn/A6t8p02V,版權(quán)歸原作者所有。歡迎投稿,投稿郵箱: editor@hi-linux.com。 

 

責(zé)任編輯:龐桂玉 來源: 奇妙的Linux世界
相關(guān)推薦

2021-02-22 08:29:03

KubernetesKubectl Fla應(yīng)用

2021-06-09 09:52:29

開源Pyroscope代碼

2020-11-17 09:27:26

KubernetesYAMLKubeLinter

2025-04-07 08:10:00

2021-08-09 16:39:52

工具JVM剖析

2024-01-25 10:40:11

AutoProfil開源分析工具

2020-02-17 07:20:22

SSH遠程連接工具Linux

2019-07-22 09:24:54

LinuxMySQL數(shù)據(jù)庫

2019-10-10 09:01:46

監(jiān)控服務(wù)器應(yīng)用

2022-05-25 16:59:27

Kubectl-IcKubernetesPod

2020-12-03 09:33:58

前端開發(fā)工具

2022-06-28 07:14:23

WizTree磁盤文件清理

2016-03-29 14:54:36

2020-12-15 07:54:40

工具Hutoolgithub

2020-12-15 15:08:17

工具Java線程

2024-03-04 08:00:00

Java開發(fā)

2018-11-26 14:30:08

Python開發(fā)工具編程語言

2019-02-25 10:18:43

工具代碼測試

2024-02-20 07:32:18

Rsync遠程同步工具傳輸數(shù)據(jù)

2013-03-27 10:01:53

網(wǎng)絡(luò)應(yīng)用檢測工具
點贊
收藏

51CTO技術(shù)棧公眾號