web服务器测试脚本
上一篇 / 下一篇 2012-06-09 22:24:43 / 个人分类:WEB测试
#!/bin/sh ################################################################################# 51Testing软件测试网#cO+td#EF
# 说 明
s~J#].q [ _d:[ f0# 1、下载耗时测试 51Testing软件测试网B.in4\u/UPl
# 2、多线程测试
"a-k_ho%BY*MSE0# 使用方法: ./webtest
Us0W c/p#q8a0+I4e4xz gm+Ic j| d,^0# 功能主要包括: 51Testing软件测试网(PiOMr
# 1、对自身机器的压力测试
1IQ1hvv*W0# 2、对其他机器的压力测试 51Testing软件测试网Qi4`-WLZE
51Testing软件测试网)~q"p(}8c.W
######################################自定义部分####################################
|&B)h.G){0# 参数简介:
J+V"~a!x4b0kh.\0# SERVER为配置要测试的机器IP地址
5R(s[x4pD~(l0# NAME定义设备的名称
WP4DRD!oM0# GRAPH定义是否生成折线图的参数文件 51Testing软件测试网5EKKu6p)WC[
# VALUE此值为定义对下载速度测试的次数 51Testing软件测试网n;_Fo3}8vt6G
# TIME 配置是否开启长时间测试,不间断测试 51Testing软件测试网0g;S'F O-xo
# MODE 配置本机器担当的角色 51Testing软件测试网$rN%G3Mv E#t I
##################################################################################### 51Testing软件测试网Up] q?[ywv:d
#要测试的URL地址,也可写ftp的。
q5J,Q5XHPB+N0URL=https://192.168.0.133/wget.jsp 51Testing软件测试网uvQ.h"LZd
export URL #服务器标识
7lc7Vmu u0NAME=lanse #设置是否生成图表数据
)l!V R_p3G"X0#GRAPH=OFF 51Testing软件测试网q]iU}O
GRAPH=ON #设置下载速度测试的次数;
^iYE9PjZ0#如果在SERVER端配置此参数后,客户端无法同步,可以tailf test.logfor; 51Testing软件测试网*[D[h}#S3cR
#当wget到这个数值时,再在客户端执行脚本。如果不需要可以将此处设置为0;
#C;S.p5IbC,X1A+Y0#SC模式不受其影响
L"HL#i7gt0VALUE=0 #VALUE=5000 #长时间压力测试单位(分钟);
KH'~~R:RlD phTI0#配置TIME小于MAXTIME为开启长时间压力测试。如果相等为不开启。 MAXTIME=6000 51Testing软件测试网L-{6U}/?'F)j9m#|7k Pr
TIME=6000 #设置模式,分(SC/SERVER/CLIENT) 51Testing软件测试网;bx-mmP
#SC 即是客户端模式,又是服务器模式,主要用于自压测试;
#gW?,p-c0#SERVER 主要用来测试别的设备;
ACy0M$ZUE0#CLIENT 当作客户端来用,主要配合另一台SERVER对自己的压力测试来提取系统资源信息。 #MODE=CLIENT
h8EK:W Ho$x\W0MODE=SERVER 51Testing软件测试网@^"t%tyb%h
#MODE=SC #配置压力级别, 分0/1/2/3, 4个级别,级别越高,压力越小, 默认0为最大压力;
6j,l'oeGG0#适合稳定性测试。 LEVEL=0
}7eA4\3m%dxL2M0#LEVEL=1 51Testing软件测试网"nbmN`
#LEVEL=2 51Testing软件测试网3p sf6FJ:t.Y.l
#主要可以得到对不同设备测试,下载所用时间,成功率,失败率; 51Testing软件测试网#Ru#M jPI
#如果同时配置,那个先执行完就结束进程; 51Testing软件测试网 G4P NrMV7r$E`
#配置NUMBER小于MAXNUMBER为开启状态。 MAXNUMBER=9000000 51Testing软件测试网/J5f `{m
NUMBER=3000
h9c"o4`D2C0###########################程序运行部分######################################## 51Testing软件测试网uo:mS n,|
>file 51Testing软件测试网S.r7B.CcF
>startfail
&Uyy'P B7j#\0>test.logfor
k`'tB E5k|0echo 2 >sta 51Testing软件测试网"eSBU$B
date +%s > time 51Testing软件测试网bFc~v
echo 2 > whstat
/Y?CF0{/`Yq0>OK 51Testing软件测试网\ ^-?m2j
>test.logwhile 51Testing软件测试网I0e T*]\M*nQ c'P
>graph
]j)X+h-Rakk2J,G0>established #1^$#
Nvff-b/O0if [ $MODE = SC -o $MODE = SERVER ] ; then echo 'time=`date +"%Y-%m-%d %H:%M:%S"`' > test.sh 51Testing软件测试网^*H-P"_{ ww#E
echo "while [ 1 ] " >> test.sh 51Testing软件测试网@(?6X E%\+B
echo "do" >> test.sh 51Testing软件测试网;K"^.R&e_Nlb
echo "wget $URL -c -q -t 3 -T 5 --no-check-certificate" >>test.sh 51Testing软件测试网Z I l`@%t@
echo ' if [ $? -eq 0 ] ; then ' >>test.sh 51Testing软件测试网 H9OL1K_i
echo ' echo $time wget ok >> test.logwhile ' >>test.sh
+kWW ]rd/L0echo " else " >> test.sh
?;hj4jg7V^x0echo ' echo $time wget fail >> test.logwhile ' >>test.sh 51Testing软件测试网 Cj Z&~L#@
echo " fi" >>test.sh
_9zk,y F i7kk0if [ $LEVEL -eq 1 ] ; then
:Q+d.dxmazbC!wD*n0H)f0echo "sleep 1 " >> test.sh 51Testing软件测试网B/zK2Lu&w;h6n O
fi 51Testing软件测试网"X-zz+{#DlH%_h
if [ $LEVEL -eq 2 ] ; then
#HGo { ufW4|w/^0echo "sleep 2 " >> test.sh 51Testing软件测试网j1Mw{6nm&Pr
fi 51Testing软件测试网2XuZ(A0f)\5RW5iC
if [ $LEVEL -eq 3 ] ; then
;Ul:Dc[j2rr0echo " sleep 3 " >> test.sh 51Testing软件测试网q9oHV V`o-}
fi 51Testing软件测试网_{~rT,R,qV_
echo "done" >> test.sh
oW2w%?5{)s+Ob0chmod a+x test.sh 51Testing软件测试网$w\,b;G%Y4QE+Dg
for ((i=0;i<=$VALUE;i++)) 51Testing软件测试网,^'l:\&I?j
do
D Y"d,N!]Zbdm0#2^#
&U}*m"U0v,y1iK0wget $URL -c -q -t 3 -T 5 --no-check-certificate 51Testing软件测试网 s$LV1E6W
if [ $? -eq 0 ] ; then
Ez$Ln7j^0echo $time wget ok $i >> test.logfor
ypW&]E$c)o0else
1X bL:GrKL}0echo $time wget fail $i >> test.logfor 51Testing软件测试网K9M}Q7|PRa
fi 51Testing软件测试网 nZ PJ+r[ }5_4E'r
#2$# 51Testing软件测试网 B%XG!`;P,l,R1F ^y.`
done 51Testing软件测试网WKq0gY,X|9v.K
T=`cat time`
&bwoJq1Qi[0N=`date +%s ` 51Testing软件测试网`B;p5qNOn
S=`echo "$N-$T" | bc `
1ja~R-Ecp0M=`echo "scale=1;$S/60"|bc |awk -F. '{print $1}'` 51Testing软件测试网7C%q*v%u#}%C'}^1Oc
MS=`echo "scale=1;$S/60"|bc |awk -F. '{print $2*0.01*60}'|awk -F. '{print $1}'`
;ti/b|B8rF$b0echo \ ; echo \ >> file 51Testing软件测试网 lN@xZ-|I4M1a
echo "当前模式为 【 $MODE 】 模式" >> file 51Testing软件测试网]9l7Gy'j
echo \ ; echo \ >> file
3wU;[r0}0echo "下载速度测试结果:" >>file 51Testing软件测试网0Y.P:f(M1Dn
if [ $S -lt 60 ] ; then
3Pr0x%Y/w Y0echo \ ; echo \ >> file
v.yi*vo@0echo "本次下载用了$S 秒" >>file 51Testing软件测试网eZ x9~nX.i
else51Testing软件测试网2]-UK%\s|ff0\d
echo \ ; echo \ >> file51Testing软件测试网r$t MO8HHU
echo "本次下载用了$M 分 $MS 秒" >>file
[)I-}R8a%m0fi51Testing软件测试网ZtQszM,w/n(}
F=`grep fail test.logfor |wc -l `
l{,t@}*e#D R0O=`grep ok test.logfor |wc -l `51Testing软件测试网8Kf q@(yqGS
echo \ ; echo \ >>file51Testing软件测试网*e0~T}+H&F