Linux服務器CPU壓力測試(本人親測)

二:CPU的測試方法

多窗口執行該語句,然後查看cpu使用情況

方式1:寫一個高循環腳本

 

while [ 1 ]

do

echo 1 >> /dev/null

done

方式2:模擬用戶不間斷的訪問

多窗口執行該語句,然後查看cpu使用情況,不間斷的刷新訪問web服務器  

for i in $(seq 2000) ;do curl http://127.0.0.1:8080 ; done

 

方式3:模擬併發進程,佔用cpu資源

參考博客

https://blog.csdn.net/newbietao/article/details/79940495?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1

 

#!/bin/bash

# 併發運行的最佳實踐

# 總進程數

Sp=2500

# 併發數,併發數過大可能造成系統崩潰

Qp=250

# 存放進程的隊列

Qarr=();

# 運行進程數

run=0

# 將進程的添加到隊列裏的函數

function push() {

Qarr=(${Qarr[@]} $1)

run=${#Qarr[@]}

}

# 檢測隊列裏的進程是否運行完畢

function check() {

oldQ=(${Qarr[@]})

Qarr=()

for p in "${oldQ[@]}";do

if [[ -d "/proc/$p" ]];then

Qarr=(${Qarr[@]} $p)

fi

done

run=${#Qarr[@]}

}

 

# main

for((i=0; i<$Sp; i++));do

#for i in `seq 500000`; do curl -o /dev/null -s -w %{http_code}:%{time_total} http://www.baidu.com ;echo " "; done

echo "running $i "

sleep 3 &

push $!

while [[ $run -gt $Qp ]];do

check

sleep 0.1

done

done

echo -e "time-consuming: $SECONDS seconds" #顯示腳本執行耗時

4:cpu使用率測試

    在執行腳本後,進行測試,可以在shell中開多個窗口執行腳本,併發進程,搶佔cpu資源

    間隔60秒採集一次,共計採集10次

    sar -u 60 10

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章