日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

开源性能可视化工具——FlameScope模式识别

發布時間:2024/8/23 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开源性能可视化工具——FlameScope模式识别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FlameScope是一個新的開源性能可視化工具,它使用次秒級偏移熱圖和火焰圖來分析周期活動、方差、擾動。我們在Netflix TechBlog上面,發表了技術文章Netflix FlameScope,以及工具的源代碼。火焰圖很好理解,次秒級偏移熱圖理解起來要困難些(我最近發明的它)。FlameScope可以該幫助你理解后者。

總而言之,次秒級偏移熱圖是這樣的:x軸是一整秒,y軸是這一秒里的幾分之一秒。這每個幾分之一秒都被稱作一個桶(或者說盒),表示這幾分之一秒里,事件數量的聚合。盒子顏色深度表示發生的次數,顏色越深表示次數越多。

下圖一個真實的CPU上的次秒級偏移熱圖樣本:

這張圖中能分析出什么信息來呢?為了能把各種不同模式區分開來展示,我在這篇文章里先畫了一些人工合成的樣本。實際使用FlameScope工具時,可以選擇你的各個模式,還能生成火焰圖,顯示對應的代碼路徑(這里我不展示火焰圖)。

周期活動

1 . 一個線程,每秒一次

線程在每秒鐘內的同樣的偏移里醒來,做幾毫秒的工作,然后回到睡眠。

2 . 一個線程,兩次每秒

每500ms喚醒一次。既可能是兩個線程,也可能是一個線程500ms 喚醒一次。

3 . 兩個線程

看起來像兩個線程均1s喚醒一次

4 . 一個忙等待線程,每秒一次

這個線程做約20ms的工作,然后睡1s。這是一個常見的模式,導致每秒鐘喚醒抵消匍匐前進。

5 . 一個忙等待線程,兩次每秒

每500ms喚醒一次。有可能是單線程程序,每秒喚醒兩次。

6 . 一個計算較密集的忙等線程

斜率高,每秒做更多的工作,大約是80毫秒。

7 . 一個計算較不密集的忙等線程

斜率低,每秒做的工作較少,可能只有幾毫秒。

8 . 一個忙等待線程,每5秒鐘喚醒一次

現在5秒喚醒一次。

我們可以根據夾角和喚醒的時間間隔,計算每個喚醒的CPU繁忙時間:
busy_time = (1000 ms / (熱圖行數?時間長度)?tan(夾角)
例如45°夾角的線:
busy_time = (1000 ms / (501))?tan(45) = 20ms

方差

9 . cpu利用率100%

這是CPU完全被用滿的樣子

10 . cpu利用率50%

真實的工作負載更像是這樣,是由短請求、隨機到達組成的。

11 . cpu利用率25%

相同的工作負載類型,大小在25%。

12 . cpu利用率5%

相同的工作負載類型,大小在5%。

13 . 負載增加

在2分鐘的尺度上,負載在變重。

14 . 變化的負荷

每30秒就有5秒的工作負載較重。

擾動

15 . CPU擾動

時不時地所有CPU都滿載個100ms。(比如垃圾回收)

16 . CPU阻塞

時不時地所有CPU都空載個100ms。(比如等I/O)

17 . 單線程阻塞

時不時地,只有一個CPU沒有idle(表現為粉紅色長條,而不是白色長條)。(比如全局鎖)

最后這個模式很有趣:它發生在一個當前運行的線程持有一把鎖,而其它所有線程都阻塞在這把鎖上。
那么該線程在做什么呢?點擊FlameScope的粉色線,就能看到此時的火焰圖。復雜的性能問題立刻變簡單。

總結

你能從這張圖中分析出什么結論?

實際使用FlameScope工具時,可以選擇你的各個模式,還能生成火焰圖,顯示對應的代碼路徑。

我和同事Martin Spier(也是該工具的主開發人員)11月8日在LinkedIn性能meetup上發表演講。

祝你使用FlameScope愉快,歡迎截圖分享你遇到有趣的模式!

Brendan

實踐

需要補充的是,作者最新的工作,將強大的Differential Flame Graph也集成到FlameScope中了,現在交互式地在FlameScope上,選擇兩個測試集以及對應的時間段,對比兩個測試組的事件采樣。

我在使用FlameScope時,發現并fix了FlameScope的若干bug。也包括Differential Flame Graph跑不起來的一些bug。之后我便用它來進行了一些性能問題的復現。還發現其中一些有趣的模式。

首先,我想分析兩個測試組的調度特征。我對他們分別進行了perf sched record采樣,并使用FlameScope進行了數據可視化。

性能好的分組?
客戶端

服務端

性能差的分組
客戶端

服務端


我們發現性能差的分組,有大量的調度事件,而且發生地非常均勻。性能好的分組則是周期性地繁忙工作若干毫秒(深紅色長條),我們還能發現背景里有周期性的輕松任務(淺紅色長條)

這個對比,給了我們這兩個測試集的調度特征一個直觀的感受。但看來分析問題需要借助更多的信息。

于是我使用了Differential Flame Graph分析兩個測試集的完整調用棧上的采樣。

該圖便給出一個重要線索,兩個測試集最重大的區別,在vfs_write->do_sync_write->sock_aio_write->inet_sendmsg->copy_user_enhanced_fast_string這條路徑上。(注意由于內核編譯優化等原因,調用路徑略有不準確)

性能好的測試組,多調用了很多次copy_user_enhanced_fast_string,性能差測試組的則很少。

之后的工作便于FlameScope關系不大了。這便是我使用FlameScope工具進行測試和性能調優的一個實踐。Bredan Gregg大神主導的這個軟件,對性能數據闡釋的直觀性真的太強了~


原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。

總結

以上是生活随笔為你收集整理的开源性能可视化工具——FlameScope模式识别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产在线一二区 | 国产尤物精品 | 国产爽视频 | 性少妇bbw张开 | 朝鲜一级黄色片 | 人人干免费 | 狠狠搞视频 | 777久久久精品一区二区三区 | 中文资源在线播放 | 女同中文字幕 | 麻豆国产视频 | 日本久久久久久久久 | 国产东北真实交换多p免视频 | 日日麻批 | 国产午夜精品一区二区理论影院 | 日韩精品播放 | 色视频2| 无码精品视频一区二区三区 | wwwav在线 | 糖心logo在线观看 | 国内自拍青青草 | 亚洲人成在线观看 | 国产精品日韩欧美一区二区三区 | 久久精品久久国产 | 97色干 | 色女人天堂 | 香蕉影院在线观看 | 在线观看免费人成视频 | 色在线影院 | 特级西西人体wwwww | 日本va欧美va精品发布 | 日韩v片 | ww黄色 | 日韩三级久久 | 欧美人禽杂交狂配 | 五号特工组之偷天换月 | 超碰1000| 日韩av电影网 | 亚洲大尺度av | 一本久道久久综合无码中文 | 欧洲亚洲视频 | 无码少妇一区二区 | 国产一级在线免费观看 | 长河落日电视连续剧免费观看 | 一区二区三区久久精品 | 欧洲高潮三级做爰 | 日本v片 | 国产精品久久婷婷六月丁香 | 天天干夜夜干 | 超碰影院在线 | 影音先锋成人资源 | 国产小视频免费在线观看 | 不卡中文字幕在线 | 粗大的内捧猛烈进出视频 | 免费在线观看高清影视网站 | 美女精品在线观看 | 国模私拍在线观看 | 一级免费黄色片 | 亚洲欧美激情一区二区三区 | 成人涩涩 | av不卡中文字幕 | 久久精品国产亚洲av麻豆 | 91豆花视频 | 在线免费观看欧美大片 | 亚州视频在线 | 国产精品久久久久无码av色戒 | 亚洲日本成人 | 青青插 | 亚洲AV成人无码电影在线观看 | www.波多野结衣.com | 午夜精品福利视频 | 亚洲天堂2015 | 一本色道久久综合亚洲精品小说 | 国产精品三级在线观看无码 | 日韩有码一区 | 久久久天堂国产精品女人 | 呦呦av| 深夜视频免费在线观看 | 日韩av电影在线播放 | 99视频免费看 | 很嫩很紧直喷白浆h | 韩国性猛交╳xxx乱大交 | 午夜在线一区 | 免费看裸体视频网站 | 欧洲中文字幕日韩精品成人 | 欧美a v在线播放 | 国产视频精选 | www.com捏胸挤出奶 | 日韩午夜在线视频 | 九九热精品视频在线 | 精品国产一二三区 | 亚洲一区二区电影网 | 国产区视频在线 | av最新网| 香蕉视频网页 | 久久久高清 | 亚洲视频综合 | 99视频在线看 | 污视频网址在线观看 |