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

代码如下:

 

测试CDN的ip解析比例 _cdn 

 

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