學習知識點
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL1QDOwAzM0EjM0IDNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
1.檢視CPU使用率
cat /proc/stat |grep ^cpu
、
cpu資料記錄
檢視CPU使用率
#建立
.PHONY: build
build:
docker build -t pertest/nginx:cpu -f Dockerfile.nginx .
docker build -t pertest/php-fpm:cpu -f Dockerfile.php-fpm .
#啟動
run:
docker run --name nginx -p 18080:80 -id pertest/nginx:cpu
docker run --name phpfpm -itd --network container:nginx pertest/php-fpm:cpu
#推送
.PHONY: push
push:
docker push pertest/nginx:cpu
docker push pertest/php-fpm:cpu
檢視環境是否還有問題
#環境是否啟動
curl http://192.168.232.134:18080
如果遇到被占用的情況
進行腳本準備:
1.在jmeter裡面建立我們的線程組
2.添加HTTP請求
3.啟動30個線程使用者
4.啟動jmeter
TPS非常高與要進行排除
(1)檢視網絡瓶頸
ping 一下對應的網絡發現在1秒以内(2秒以内都算正常),是以不存在網絡瓶頸
(2)進入伺服器進行分析
top指令,可以看到CUP使用率非常的高
按數字1切換到4個CUP的界面,可以看到平均負載load average已經超出了4,超過4說明CUP有堵塞的一個情況
然後我們可以看一下是那些程序占用率比較高
步驟總結:
perf top,切換到函數裡面時時的看到一些函數的調用情況
列印報告資訊
perf record -g -p 10850(程序id)
找到與代碼相關的函數,找開發進行修改。