perf是Linux下的一款性能分析工具,可以進行函數級與指令級的熱點查找。php
docker run -dt --privileged=true -p 3333:22 -p 80:80 -v /Users/wenba/Desktop/project:/data -v /Users/wenba/Desktop/docker/nginx:/usr/server/openresty/nginx/conf/vhost --name mydocker 933bdb63c863 /usr/local/sbin/run.shnginx
啓動docker測試時,記得使用 --privileged=true 容許超級權限模式docker
yum install perf
複製代碼
# 統計全局性能 perf record -g 複製代碼
一段時間後bash
# 查看記錄 perf report 複製代碼
# 查看進程ID ps aux|grep index.php # 查看記錄 perf record -p 276 複製代碼
一段時間後markdown
# 查看記錄 perf report 複製代碼
經過分析能夠看到在哪些地方佔用了更多的cpu,咱們看到有個pow_function, 能夠回車進入看到具體的執行指令函數
咱們還能夠使用相似top的指令用法工具
# 全局性能觀測 perf top # 監控某個進程 perf top -p 327 複製代碼
# 根據comms限定範圍 perf top --comms nginx,php 複製代碼
可能並非一個進程在提供服務,若是須要所有分析的話能夠利用,分隔性能
perf top -p 23015,32476
複製代碼
最後根據查看消耗指令,綜合分析, 排查系統瓶頸。測試
更多精彩內容關注:spa