面对多台服务器,甚至几百台服务器时,测试其网络速度,无疑需要使用脚本来代替人工了。
假设我们的测试地址为:http://server/speed_test_123.zip,测试前将speed_test_123.zip分发到各台机器上。
文件:/var/shell/vpn.txt 中保存着各服务器的域名,一行一个。
测试结果保存在:/var/shell/result.txt 文件中。
脚本如下:
#!/bin/sh
#filename chk_speed.sh
#check network speed
#edit by www.jb200.com
vpnlist="/var/shell/vpn.txt"
testfile="/speedtesting.zip"
result="/var/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' | linuxjishu/13830.html target=_blank class=infotextkey>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