shell脚本测试多服务器网络速度
经常需要对多台服务器进行测试,以便选择对我们最优的服务器使用,需测的服务器不多时,手工跑跑就行了,但到几十上百台的时候,就需要写个脚本了。
服务器测试的url为:http://server/speedtesting.zip,speedtesting.zip文件需要上传到服务器上。
/root/shell/vpn.txt文件内存放服务器的域名,一行一个。
测试结果存放在:/root/shell/result.txt
脚本如下:
#!/bin/sh
vpnlist="/root/shell/vpn.txt"
testfile="/speedtesting.zip"
result="/root/shell/result.txt"
echo "" > $result
cat $vpnlist | while read vpnserver
do
url="http://$vpnserver$testfile"
wget -o /tmp/vpn.log $url -O /dev/null
speed=`cat /tmp/vpn.log | grep 'saved' | awk -F '{print $3}' | cut -c2-`
unit=`cat /tmp/vpn.log | grep 'saved' | awk -F '{print $4}' | cut -c-2`
if [ "$unit" == "MB" ]; then
speed=`echo $speed*1024 | bc`
unit="KB"
fi
echo "$url $speed $unit/s" >> $result
echo "$url $speed $unit/s"
done
echo "VPN speed test finish,sort result display:"
cat $result | sort -k2 -rn