功能:
1、可以设置:并发数、总请求数、连接超时时间、请求头。
2、可以统计:响应状态码、连接耗时、首包耗时、下载速度、下载耗时、下载大小。
代码:
#!/bin/bash
testid="test"
if [ -n "$1" ];then
testid=$1
fi
curl_limit=5
for ((i=0;i<5000;i++))
do
while [ $(ps -ef|grep -v defunct|grep -c 'curl') -gt $((curl_limit)) ]; do
sleep 0.020
done
curl -o /dev/null -m 600 -s -w "testid=${i},now=`date +%Y-%m-%d' '%H:%M:%S.%N`,http_coder=%{http_code},dns_time=%{time_namelookup},conn_time=%{time_connect},fistbyte=%{time_starttransfer},download_speed=%{speed_download},time_totle=%{time_total},size_download=%{size_download},ip=%{remote_ip}\n" "http://mytest.local/index.html" -H "User-Agent: my-test" -H "Connection: Keep-Alive" -x 192.168.49.3:30080 &
done
while true; do
ps -ef | grep curl |grep -v grep &> /dev/null
if [ "$?" != "0" ];then
echo `date` "all curl exited"
break
fi
sleep 1
done
--end--