今天公司的CDN需要测试某个域名解析的比例,域名解析的比例实际上是调整CDN的节点流量的主要方法,一般默认为平均,但是若是各个CDN节点的服务能力不同的话,就需要分配不同的比例的解析次数,服务能力好的解析的次数多,这样获得的流量就多。
因为流量器一般只认第一个IP,因此代码只统计第一个IP的次数,一般来说统计的次数越多,就越接近比例。
测试CDN的ip解析比例-LMLPHP
代码如下:

  1. if [ "$3" = "" ]
  2. then
  3. echo "sh test_ratio.sh dns_ip domain times";
  4. exit;
  5. fi
  6. test_time=$3;
  7. sdns_ip=$1;
  8. domain=$2;
  9. > /tmp/test_ratio.log
  10. for((i=0;i<$test_time;i++))
  11. do
  12. dig +short @$sdns_ip $domain |head -1 >> /tmp/test_ratio.log
  13. done
  14. awk '{count[$1]++}END{for(i in count)print i,count[i]}' /tmp/test_ratio.log
12-22 23:50