精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

分享一款適用于云原生的全棧持續性能監測工具

openEuler ? 來源:openEuler ? 2023-02-28 15:59 ? 次閱讀

對于開發及運維人員來講,火焰圖是一個經典的定位性能問題的方法。利用火焰圖可以可視化系統資源(cpu占用、內存占用、調度、IO等)的占用情況,從而幫助技術人員快速定位資源異常使用的代碼級根因,或者觀察潛在性能劣化趨勢,進而優化系統和應用的性能。

然而,現有流行的火焰圖工具往往存在一個或多個局限性,實際應用場景比較有限。因此,openEuler上的開源項目A-Ops中的gala-ops系列組件提供了適用于云原生的全棧持續性能監測火焰圖

傳統火焰圖在實際應用中的痛點

1.傳統火焰圖工具相對獨立,難以對接第三方插件或集成到運維系統,在應用中需要有經驗的開發人員手動結合其他調試工具分析定位。

2.由于開銷較大,火焰圖大多僅僅作為工具在開發和調試階段被使用,不能在生產環境中常態化部署。所以對于更常見的場景——即實際生產環境中的突發性的性能問題,火焰圖并不是定位問題的有效手段。

3.生產環境上中部署的應用類型錯綜復雜,語言紛繁多樣,而且很多應用是會調用不同語言的模塊。但是每種火焰圖工具往往只針對單一類型的語言。即使同時部署了不同語言的火焰圖觀測工具,所生成的火焰圖數據又難以統一,從系統角度難以觀測不同語言應用的性能占比。

4.傳統火焰圖往往只能觀測進程,線程粒度,是host時代的工具。對于云原生系統更關注的容器粒度,傳統火焰圖無法直觀區分。

gala-ops火焰圖的四大特性

1.易于部署和集成

gala-ops是針對云基礎設施灰度故障的應用級/系統級在線診斷工具,火焰圖探針stackprobe集成在其中的gala-gopher組件內。用戶只需一鍵安裝gala-gopher后,在配置文件中開啟或關閉火焰圖探針即可使用。具體的安裝部署說明可參考gala-gopher文檔。

c62d2d22-aa8c-11ed-bfe3-dac502259ad0.png

gala-ops火焰圖默認會在本地生成svg格式的火焰圖。另外它也支持pyroscope和grafana等第三方運維平臺,僅需在配置文件中填上第三方插件的地址,火焰圖探針程序就會定期自動將火焰圖數據上傳到遠端以方便后續分析和實時監測。

以下是gala-ops cpu火焰圖對接pyroscope和grafana的示例。通過選擇特定時間段,可以查看到該時間段的火焰圖,函數cpu占比排序,配合其他系統或應用指標可以很方便地發現和定位問題。

c63d88ac-aa8c-11ed-bfe3-dac502259ad0.png

2.容器支持

云原生系統中,應用以容器形式部署。傳統火焰圖中在進行系統級觀測時,最多體現線程名稱,若不同容器示例內線程名相同,則調用棧會合并在一起無法區分,影響后續定位定界。gala-ops火焰圖探針能夠自動識別本機中的pod和container,并在圖里增加工作負載,容器和進程號信息。

若進程為工作負載/容器內進程,則分別以[Pod]和[Con]前綴標記pod和container,進程以[]前綴標記。

效果圖參見下一段附圖,可見通過查看調用棧底部第一層,可以明顯區分主機進程和容器進程。

3.全棧支持

gala-ops火焰圖支持編譯型和解釋型語言的混合代碼調用棧解析。目前已支持的語言包括C,C++,GO,Rust,JAVA。不同語言的應用,同一調用棧中不同語言的函數/方法,用戶態和內核態,均可在同一火焰圖中統一顯示。而且使用gala-ops火焰圖前不需要針對不同的語言做額外配置或重新部署應用,即開即用。

下圖顯示了一個實測生成的gala-ops cpu火焰圖,以右側的一個tomcat容器調用棧為例,從底層往頂層看調用關系:tomcat pod內包含一個container,containter中有一個pid為2434466的java進程,進程內cpu占用最多的是名為http-nio-8080-e的JVM線程,JVM調用了C庫函數thread_native_entry,再往上進入了Java方法java.lang.Thread::run,然后經過一系列的Java方法調用,最終走到了ksys_write系統調用,然后進入內核態函數。

這樣一個Java進程從k8s層->OS層->JVM底層實現->Java方法->內核態函數——完整的調用過程就可以通過gala-ops火焰圖追溯到。

c64c6c78-aa8c-11ed-bfe3-dac502259ad0.png

4.低開銷

gala-ops火焰圖基于ebpf技術,精簡堆棧采樣邏輯,實現保持采樣精度(cpu采樣頻率10ms)的同時對被觀測應用性能影響很小(一般在1%左右)。因此,大規模生產環境中也可以持續開啟gala-ops火焰圖以實時觀測應用性能,這樣即使出現應用或系統故障,無需事后重現問題,通過gala-ops火焰圖可以回溯以往任意時刻的系統狀態。

我們測試了開關cpu火焰圖對不同應用的性能影響:對于本身性能中等,吞吐量中等的應用,例如tomcat,tps劣化在1%以下;對于本身性能較高,吞吐量大的應用,例如kafka,tps劣化在2%以下。結果如下:

對比開關cpu火焰圖探針對tomcat性能的影響:

c66b4742-aa8c-11ed-bfe3-dac502259ad0.png

對比開關cpu火焰圖探針對kafka寫入MQ消息性能的影響:

c67d4852-aa8c-11ed-bfe3-dac502259ad0.png

gala-ops火焰圖具有易于部署和集成,容器支持,全棧支持,低開銷等特性,使得開發者和維護者無論在開發環境還是生產環境均可通過火焰圖的形式預測潛在問題和定位已發生問題。

功能的持續完善

目前gala-ops火焰圖已經支持cpu占用,內存泄漏兩種類型火焰圖,后續還會加入對其他系統資源的觀測,例如調度、網絡IO、磁盤IO等。此外,對其他語言應用的支持也在持續開發中。







審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10826

    瀏覽量

    211162
  • JAVA
    +關注

    關注

    19

    文章

    2959

    瀏覽量

    104555
  • SVG
    SVG
    +關注

    關注

    0

    文章

    127

    瀏覽量

    16395
  • OPS
    OPS
    +關注

    關注

    0

    文章

    60

    瀏覽量

    18151

原文標題:A-Ops性能火焰圖——適用于云原生的全棧持續性能監測工具

文章出處:【微信號:openEulercommunity,微信公眾號:openEuler】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    EVAL-AD7785EBZ是一款完整的模擬前端,適用于低頻測量應用

    EVAL-AD7785EBZ,AD7785評估板,是一款低功耗,20位sigma-delta ADC。 AD7785是一款完整的模擬前端,適用于低頻測量應用
    發表于 08-23 08:37

    EVAL-AD7718EB,是一款完整的模擬前端,適用于低頻測量應用

    EVAL-AD7718EB,評估板使用AD7718,8 / 10通道,24位sigma delta模數轉換器。 AD7718是一款完整的模擬前端,適用于低頻測量應用。 AD7718經過工廠校準,因此
    發表于 09-16 10:42

    阿里云安全肖力:云原生安全構筑下代企業安全架構

    解決方案,分別適用于公共云和專有云,通過保障云平臺之上業務系統和應用的關鍵代碼和數據不被篡改,來確保系統和應用運行在個可信的狀態,從根本上保障安全。目前已經在公共云有實踐應用。數據安全是云平臺立身之本
    發表于 09-29 15:15

    阿里云推出內部操作透明化服務 為用戶提供數據保護體系

    與用戶相關的操作日志對用戶可見。阿里云還為用戶提供了可靠的鏈路數據加密,且密鑰僅為用戶所有,并完全可控,進步保護用戶數據安全。此外,阿里云還發布了基于云原生安全技術的云平臺可信解決方案,分別
    發表于 09-29 15:27

    求大佬分享一款適用于激光及MRI的寬帶LDMOS晶體管

    求大佬分享一款適用于激光及MRI的寬帶LDMOS晶體管
    發表于 06-08 06:29

    一款適用于STM32的UI設計軟件

    最近發現一款適用于STM32的UI設計軟件,界面炫酷,操作方便,經過幾天的摸索,終于將TouchGFX+STM32CubeMX+STM32CubeIDE創建項目工程的全過程走通。在安裝
    發表于 08-04 07:00

    性能提升1倍,成本直降50%!基于龍蜥指令加速的下云原生網關

    Ingress,使用過程中遇到運維成本高、安全差、原生功能弱等痛點,期望能夠找到一款替代產品;在接觸 MSE 云原生網關后,在上線前的測試過程中對于 HTTPS 硬件加速功能非常認可,測試驗證開啟后的加速
    發表于 08-31 10:46

    只需 6 步,你就可以搭建云原生操作系統原型

    開發軟件應用的種模式,也就是站在巨人的肩膀上,充分利用成熟穩定的云基礎設施來開發、發布、運行和維護個應用,以保障我們應用的彈性、性能、容器、成本等諸多方面的訴求。 (圖/龍蜥云原生
    發表于 09-15 14:01

    ATP發布了一款適用于工業環境的M.2固態硬盤

    2018年1月25日,高性能工業存儲制造商ATP發布了一款適用于工業環境的M.2固態硬盤——N600i。
    發表于 11-21 08:41 ?1957次閱讀

    面向云原生的混沌工程工具-ChaosBlade

    。ChaosBlade 工具可以通過聲明式配置執行混沌實驗,簡單高效。本文將會重點介紹 ChaosBlade 以及云原生相關的實驗場景實踐。 ChaosBlade 介紹 ChaosBlade 是阿里巴巴開源的一款遵循混沌實驗模型
    發表于 11-14 23:06 ?647次閱讀
    面向<b class='flag-5'>云原生</b>的混沌工程<b class='flag-5'>工具</b>-ChaosBlade

    云原生應用中的“云”指的是什么?

    目標是以企業需要的速度滿足應用用戶的需求。但是,云原生應用中的云指的是什么?如果應用是云原生應用,那么它專門用于跨私有云、公共云和混合云提供始終如的開發與自動管理體驗。企業采用云計算
    的頭像 發表于 11-27 17:24 ?2184次閱讀

    引領云原生2.0時代,賦能新云原生企業

    十年云計算浪潮下,DevOps、容器、微服務等技術飛速發展,云原生成為潮流。Forrester首席分析師戴鯤表示,云原生是企業數字化轉型的基礎,企業需要建立云原生優先的戰略,構建體化
    的頭像 發表于 12-11 16:04 ?1796次閱讀

    華為云發布云原生2.0全景圖,結果和過程的雙重可信的高質量

    華為云還發布云原生2.0全景圖,其中,在應用敏捷層,華為云將云原生能力賦能客戶,幫助客戶應用敏捷、業務智能,安全可信,面向未來持續演進
    的頭像 發表于 12-22 14:35 ?2927次閱讀

    如何設計一款適用于各類電池尺寸、電壓和外形的電池測試儀

    如何設計一款適用于各類電池尺寸、電壓和外形的電池測試儀
    發表于 10-28 12:00 ?0次下載
    如何設計<b class='flag-5'>一款</b><b class='flag-5'>適用于</b>各類電池尺寸、電壓和外形的電池測試儀

    一款適用于紅藍對抗的演練工具Goblin介紹

    Goblin 是一款適用于紅藍對抗的演練工具。通過反向代理,可以在不影響用戶操作的情況下無感知的獲取用戶的信息,或者誘導用戶操作。
    的頭像 發表于 11-01 09:06 ?1664次閱讀