天天看點

性能分析7-CPU分析-CPU使用率學習知識點

學習知識點

性能分析7-CPU分析-CPU使用率學習知識點
性能分析7-CPU分析-CPU使用率學習知識點

1.檢視CPU使用率

cat /proc/stat |grep ^cpu
           
性能分析7-CPU分析-CPU使用率學習知識點

cpu資料記錄

性能分析7-CPU分析-CPU使用率學習知識點
性能分析7-CPU分析-CPU使用率學習知識點
性能分析7-CPU分析-CPU使用率學習知識點

檢視CPU使用率

性能分析7-CPU分析-CPU使用率學習知識點
性能分析7-CPU分析-CPU使用率學習知識點
性能分析7-CPU分析-CPU使用率學習知識點
性能分析7-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
           
性能分析7-CPU分析-CPU使用率學習知識點
性能分析7-CPU分析-CPU使用率學習知識點

如果遇到被占用的情況

性能分析7-CPU分析-CPU使用率學習知識點

進行腳本準備:

1.在jmeter裡面建立我們的線程組

2.添加HTTP請求

3.啟動30個線程使用者

4.啟動jmeter

性能分析7-CPU分析-CPU使用率學習知識點

TPS非常高與要進行排除

(1)檢視網絡瓶頸

ping 一下對應的網絡發現在1秒以内(2秒以内都算正常),是以不存在網絡瓶頸

性能分析7-CPU分析-CPU使用率學習知識點

(2)進入伺服器進行分析

top指令,可以看到CUP使用率非常的高

性能分析7-CPU分析-CPU使用率學習知識點

按數字1切換到4個CUP的界面,可以看到平均負載load average已經超出了4,超過4說明CUP有堵塞的一個情況

性能分析7-CPU分析-CPU使用率學習知識點

然後我們可以看一下是那些程序占用率比較高

性能分析7-CPU分析-CPU使用率學習知識點

步驟總結:

性能分析7-CPU分析-CPU使用率學習知識點

perf top,切換到函數裡面時時的看到一些函數的調用情況

性能分析7-CPU分析-CPU使用率學習知識點
性能分析7-CPU分析-CPU使用率學習知識點

列印報告資訊

perf record -g -p 10850(程序id)

性能分析7-CPU分析-CPU使用率學習知識點
性能分析7-CPU分析-CPU使用率學習知識點
性能分析7-CPU分析-CPU使用率學習知識點

找到與代碼相關的函數,找開發進行修改。