Linux lua 性能,systemTab动态分析linux下lua性能
生活随笔
收集整理的這篇文章主要介紹了
Linux lua 性能,systemTab动态分析linux下lua性能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
參考ngx-sample-lua-bt
現代linux 動態追蹤技術 主要是基于 ebpf
systemtap 是 動態追蹤的前端, 技術原理是 編譯一個 類似c的腳本 生成 內核模塊, 來監控用戶空間的lua程序
對openResty的腳本改造兩點,
1: 去掉nginx相關函數的 probe 探針
2:如何獲取LuaState 狀態機的方法 調整, 可以使用程序內部的 全局變量定義
if(\@defined(\@var("globalL", "$lua_path"))) {
L = \@var("globalL", "$lua_path")
}
對timer 采樣也可以調整
timer.profile 每個CPU周期 timer.ms 是 定時毫秒
動態追蹤核心:
定義probe 探針位置
定義timer 采樣
在timer中判斷 PID 進程ID, 來確定自己要觀察的程序
timer.s 觀察總時長后結束
systemtap 的堆棧格式是
一次堆棧每層 文件:行號 總共出現次數
fix-bt 之后 得到 lua 函數名字
flamegraph 的工具 stack stap 多行壓縮到一行
最后生成 火焰圖 分析
總結
以上是生活随笔為你收集整理的Linux lua 性能,systemTab动态分析linux下lua性能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 工具类sort_Java 通用
- 下一篇: linux飞行模式自动开机,解决 win