[心得] 使用 pyroscope adhoc 加速找到效能瓶頸
部落格: https://bit.ly/pyroscope-adhoc
Youtube: https://www.youtube.com/watch?v=3WfR46Q_9Kk
大家在開發軟體時,會快速迭代專案時程跟需求,功能越多,系統就會開始出現效能上的瓶頸,而最快的解決方式就是先垂直擴展,把 CPU 跟記憶體先往上加,但是這是治標不治本,所以之前有推薦大家一套如何在服務執行時,快速找到哪個地方執行較慢,請參考之前的文章『即時效能分析工具 Pyroscope』,Pyroscope 目前支援了很多語言,像是
Go, Python, Java, Ruby, Rust, PHP 及 .Net,如果你想要快速在本地端找到效能瓶頸,請繼續將本篇看完。底下會用 Go 語言實際範例教大家。
## 為什麼要用 adhoc profiling
Pyroscope 近期內推出 adhoc profiling 功能,大家想看看為什麼官方要推出此功能。原本 Pyroscope 推出此開源平台可以讓開發者在平台上線時,快速從時間點找到效能瓶頸的地方,但是移動到該時間點時,你會看到很多雜訊,而要持續檢測,開發者需要一直進行測試,而這方式無法在本地端快速驗證出來。
所以 Pyroscope 目標是推出 adhoc profiling 功能,讓開發者可以在本地透過
Pyroscope 快速驗證及找到效能瓶頸,而不用運行一整個服務,只要將特定的流程抓出來透過 Script 方式將效能數據產生出來,並且透過 Pyroscope CLI 直接讀取看數據。
(中間許多代碼,請直接上 Blog 文章)
## 線上 Profiling 服務
如果連本地端都不想安裝任何環境,可以透過底下兩個線上服務來完成。
* Upload and Share Interactive Flamegraphs[1]
* Playground[2]
可以將有效能問題的程式碼放到 Playground 上,並分享給團隊其他同仁,直接線上修改測試即可,其實跟 Go 提供的 Playground 差不多意思。
[1]: https://flamegraph.com/
[2]: https://playground.flamegraph.com/playground
## 心得
有了這個功能幫助挺大的,尤其是想在本機端做一些效能上分析,雖然有 pprof 可以使用,但是沒有好的 UI 介面,還是很難縮短除錯時間,而有了 adhoc 功能,還可以將數據分享給其他同事一起來幫忙。畢竟服務正式上線後,不會將 pyroscope 功能啟動,免得服務受到效能上的影響,而在測試站就會隨時監控,搭配 Prometheus + Grafana 找出特定時間點效能變化。
上面第一段有提到,目前支援多種不同語言,大家在本地端就可以快速測試不同寫法帶來不同的效能,而不是要將代碼推上機器後才可以驗證,真的縮短蠻多時間的。也可以在找到問題同時,先將 HTML 檔案附件在 Issue Tracking 系統上。
--
83
[討論] 三星GOS限制上萬App效能 不包括跑分軟體三星本身就自有一套GOS(Game Optimization Service)軟體 用以優(限)化(制)遊戲的效能 而根據韓國社群的討論 他們發現了這個GOS不單單限制遊戲的效能 甚至連普通的APP也都會 限制64
[情報] 40系列4070光柵效能比3090+30% GDDR7出現Moore's Law Is Dead這次放出了老黃40系列的情報 首先 他確定AD102 也就是40系列頂歸卡在400~450W能比30系列高出60~80%的效能 另外 功耗部分原先設計沒那麼高 但為了應對蘇媽RDNA3 因此把功耗拉高X
[討論] 為何會有人把零錢兌換當成超商該有服務?如題,先說一下超商找給客人的零錢/鈔票,都是門市自行到銀行或ATM去兌換的。 那這些基本上都是各店長依據門市現金流動狀況去估算的,只要情況許可,都會照客人意 願去找零、甚至提供不消費的人現金兌換。 但有時難免會有超乎預期的狀況,假日銀行沒開的時候有時甚至得跟週遭店家換零錢、或 是用自己的錢領百元鈔跟店裡換。30
[創作] 台股工具「股市轉轉」功能更新*股市新手小鄉民,作品還有許多待改善處,請各位前輩多多包涵 免費下載連結: iOS Android 影片連結:24
Re: [問卦] 不是設計系的 買Mac有什麼優點這問題蠻簡單的吧 MAC自從M1這顆SoC橫空出世後 對於文書筆記本這塊市場M1 Macbook Air就變成一個非常香的選擇 原因大致上為以下 1. 效能upup23
[討論] 三星"下載加速器"從功能縮減->完全移除有人記得/知道三星有個內建下載APP加速的功能叫做"下載加速器"嗎? 印象中一開始是從S4還是Note4那年的手機開始內建,在宣傳時也主打這項功能。 這功能可將行動網路的速度、加上wifi的速度後讓下載一個APP能夠更加快速~ 但不知道從哪個Android版本開始,一開始下載受惠的APP是包含Google Play 與Galaxy Store,後續應該是從Android 10 還是 Android 11就開始變成Galaxy Store9
[閒聊] 開發者打造讓NS原生執行PSVita系統的工具原文標題: 非模擬器!開發者打造能夠讓 Nintendo Switch 主機原生執行 PS Vita 系統的工具 原文網址: by 凱拉特 一位來自西班牙的開發者「Xerpi」Sergi Granell 聲稱他已經成功自行研發出了能夠在7
Re: [問卦] 為啥java會在python之前紅JAVA這東西之前真的不知道紅什麼意思的 完全物件導向 使用每個功能 都要宣告物件出來 然後呼叫簡單的內容 也要一串程式碼 又臭又長4
[開箱] Intel最新12代DDR4高效能ITX中階美型機Intel 12代DDR4高效能ITX美型機外觀實測影片: 10幾年前ITX產品剛在消費市場起步時,只有少數主機板可選擇,近幾年對於ITX規格主機 板、機殼的市場需求明顯提高,也讓許多品牌比以往推出更多中高階的產品讓愛好者挑選 ,雖與M-ATX、ATX規格相比ITX數量還是少很多,但比起以往已有進步。X
[討論] 在這個案例,禁用GOS反而更糟糕了這個人的手機是Exynos 2200 1.GOS ON 設定都是極高 剛開始進入遊戲大概50FPS,隨著時間運行 下降到4-50左右