searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

一种7层http长链接多进程测试方法

2023-10-23 09:34:34
8
0

流量业务转发路径 VM ---- 网元 ----- Server 

以eip流量为例 vm — igw网元 – sgw --agw --外网服务器 (Server)

1.Server上开启httpd服务,端口为80 ,默认目录为/var/www/html,在默认目录下创建10M大的测试文件test4

dd if=/dev/zero of=test4 bs=1M count=10

计算创建的测试文件test4的MD5值

md5sum test4 |awk '{print$1}'

2.配置相应规则使能snat

3.vm侧编写测试脚本测试多进程链接

vi wget.sh

url=$1
port=$2
file=$3
md5=$4
for ((a=1;a<=150;a++));
do
time=`date +"%Y-%m-%d %H:%M:%S"`
nohup wget --limit-rate 20k -T 3000 -t 0 -O ./file/test-$a.txt $url:$port/$file  > ./log/curl-$a.log &&  md5sum ./file/test-$a.txt |awk '{print$1}' >> ./log/curl-$a.log && md5file=$(tail -n 1 ./log/curl-$a.log) && if [ $md5file = $md5 ];then echo "$time, test-$a.txt wget is OK" >> wget-test-result.log;else echo "$time, test-$a.txt is ERROR" >> wget-test-result.log;fi &
sleep 0.1
done

创建file,log文件夹

mkdir file

mkdir log

执行脚本下载test4 ,第一个参数是server端地址,第二个是server port,第三个是要下载的文件名,第四个是之前计算的md5值

bash wget.sh 192.168.11.3 80 test4 f1c9645dbc14efddc7d8a322685f26eb

等待下载完成后 ,

查看是否为150 判断所有文件均下载成功

cat wget-test-result.log | grep -c OK

如果中途 有异常 可使用 kill脚本 清理进程

 vi kill-wget.sh
ps -ef | grep "wget --limit-rate"| awk '{print$2}'
pid=($(ps -ef | grep "wget --limit-rate"| awk '{print$2}'))
echo ${pid[*]}
for k in ${pid[*]};
do
kill -9 $k
if [ $? -eq 0 ]
then
printf "$time , kill $k : OK   "
else
printf "$time , kill $k : ERROR   "
fi
sleep 0.1
done

0条评论
0 / 1000
NoNo
2文章数
1粉丝数
NoNo
2 文章 | 1 粉丝
NoNo
2文章数
1粉丝数
NoNo
2 文章 | 1 粉丝
原创

一种7层http长链接多进程测试方法

2023-10-23 09:34:34
8
0

流量业务转发路径 VM ---- 网元 ----- Server 

以eip流量为例 vm — igw网元 – sgw --agw --外网服务器 (Server)

1.Server上开启httpd服务,端口为80 ,默认目录为/var/www/html,在默认目录下创建10M大的测试文件test4

dd if=/dev/zero of=test4 bs=1M count=10

计算创建的测试文件test4的MD5值

md5sum test4 |awk '{print$1}'

2.配置相应规则使能snat

3.vm侧编写测试脚本测试多进程链接

vi wget.sh

url=$1
port=$2
file=$3
md5=$4
for ((a=1;a<=150;a++));
do
time=`date +"%Y-%m-%d %H:%M:%S"`
nohup wget --limit-rate 20k -T 3000 -t 0 -O ./file/test-$a.txt $url:$port/$file  > ./log/curl-$a.log &&  md5sum ./file/test-$a.txt |awk '{print$1}' >> ./log/curl-$a.log && md5file=$(tail -n 1 ./log/curl-$a.log) && if [ $md5file = $md5 ];then echo "$time, test-$a.txt wget is OK" >> wget-test-result.log;else echo "$time, test-$a.txt is ERROR" >> wget-test-result.log;fi &
sleep 0.1
done

创建file,log文件夹

mkdir file

mkdir log

执行脚本下载test4 ,第一个参数是server端地址,第二个是server port,第三个是要下载的文件名,第四个是之前计算的md5值

bash wget.sh 192.168.11.3 80 test4 f1c9645dbc14efddc7d8a322685f26eb

等待下载完成后 ,

查看是否为150 判断所有文件均下载成功

cat wget-test-result.log | grep -c OK

如果中途 有异常 可使用 kill脚本 清理进程

 vi kill-wget.sh
ps -ef | grep "wget --limit-rate"| awk '{print$2}'
pid=($(ps -ef | grep "wget --limit-rate"| awk '{print$2}'))
echo ${pid[*]}
for k in ${pid[*]};
do
kill -9 $k
if [ $? -eq 0 ]
then
printf "$time , kill $k : OK   "
else
printf "$time , kill $k : ERROR   "
fi
sleep 0.1
done

文章来自个人专栏
一些网络测试方法
2 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
1
0