二: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资源
参考博客
#!/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