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
複製代碼
一段時間後函數
# 查看記錄
perf report
複製代碼
經過分析能夠看到在哪些地方佔用了更多的cpu,咱們看到有個pow_function, 能夠回車進入看到具體的執行指令工具
咱們還能夠使用相似top的指令用法性能
# 全局性能觀測
perf top
# 監控某個進程
perf top -p 327
複製代碼
# 根據comms限定範圍
perf top --comms nginx,php
複製代碼
可能並非一個進程在提供服務,若是須要所有分析的話能夠利用,分隔測試
perf top -p 23015,32476
複製代碼
最後根據查看消耗指令,綜合分析, 排查系統瓶頸。spa
更多精彩內容關注:3d