DNS服务器测试工具――queryperf

原文地址:http://bbs.chinaunix.net/thread-216556-1-1.html

今天上新闻组,听别人说BIND自带了一个测试DNS服务器的工具。刚才大概看了一下该工具的说明文档,呵呵,向大家做个报告先
1.该工具所在目录

bind-9.2.2/contrib/queryperf(不知道BIND 8或BIND4是否带有该工具)

2.简介

该工具原本设计是用来测试权威DNS服务器的,但是也可以使用该工具来测试只缓存DNS服务器。我大概看了一下说明文档,简要介绍一下(建议阅读原文)。

1)测试环境:

建议在不同的机器上运行queryperf和DNS服务器,这样queryperf的执行就不会影响到DNS服务器的运行。建议把这两台机器放置在100M以上速度的环境中,并且在这两台机器之间最好不要有防火墙或者路由器等设备。这样测试的结果才能够更好地反映DNS服务器的执行速度。

2)配置服务器

关闭递归查询(这是用来测试权威服务器时需要的,如果你测试的是只缓存服务器,那当然不能关闭了)。在named.conf中的options语句中添加:
recursion no;

3)建立测试文件

说明文档中说最好建立一个有1w到100w条数据的测试文件,该文件的每一行其实就是一个查询,格式如下:
foo.com A

第一个字段是域名(这些域名最好是权威服务器所管理的区中的真实域名),第二个字段是查找类型。

其实queryperf的执行就是打开测试文件,一行一行的读取文件中的记录,然后再查找服务器,最后统计相关信息进行报告。

3.安装

该工具的安装非常的简单,进入bind-9.2.2/contrib/queryperf目录执行如下命令就可以了:

        [root@andy queryperf]# ./configure
        [root@andy queryperf]# make


执行完如上命令后就可以看到目录中多了一个可执行文件――queryperf,这正是我们所需要的,继续

4.使用
1)建立测试文件
这是我建立的测试文档(文件名为:test),

[root@andy queryperf]# cat test
www.andy.com A
andy.com A
andy.com NS
andy.com MX
fdsaf.andy.com A
www.sohu.com NS
jay.andy.com A
dns.andy.com A

说明:这是我用来测试的,所以就只写了8条记录。“andy.com”是被测试的DNS服务器上的一个区,测试用的。各位在实际应用时,请做相应修改!

备注:

通过 #cat test1 >> test  

#cat test >> test1 

反复执行上述命令,test可迅速增加到100万行


2)测试
执行如下命令:
[root@andy queryperf]# ./queryperf –d test –s 192.168.0.113
说明:“-d”后面跟的是前面建立的测试文件的文件名:test
“-s”后面跟的是需要进行测试的服务器
结果如下:

DNS Query Performance Testing Tool
Version: $Id: queryperf.c,v 1.1.1.2.2.2 2002/07/02 04:17:18 marka Exp $

[Status] Processing input data
[Status] Sending queries
[Status] Testing complete

Statistics:

Parse input file:     once
          Ended due to:      reaching end of file

          Queries sent:         8 queries
          Queries completed:    8 queries
          Queries lost:          0 queries

          Percentage completed: 100.00%
          Percentage lost:        0.00%

          Started at:           Tue Dec  4 21:36:59 2003
          Finished at:          Tue Dec  4 21:36:59 2003
          Ran for:              0.195633 seconds

          Queries per second:   40.892896 qps


本机实测结果

[root@yqsj-db queryperf]# ./queryperf -d test -s 10.82.38.15

DNS Query Performance Testing Tool
Version: $Id: queryperf.c,v 1.12 2007/09/05 07:36:04 marka Exp $

[Status] Processing input data
[Status] Sending queries (beginning with 10.82.38.15)
[Timeout] Query timed out: msg id 88
[Timeout] Query timed out: msg id 94
[Timeout] Query timed out: msg id 100
[Timeout] Query timed out: msg id 103
[Timeout] Query timed out: msg id 109
[Status] Testing complete

Statistics:

  Parse input file:     once
  Ended due to:         reaching end of file

  Queries sent:         807891 queries
  Queries completed:    807886 queries
  Queries lost:         5 queries
  Queries delayed(?):   0 queries

  RTT max:              0.105361 sec
  RTT min:              0.000251 sec
  RTT average:          0.004781 sec
  RTT std deviation:    0.002315 sec
  RTT out of range:     0 queries

  Percentage completed: 100.00%
  Percentage lost:        0.00%

  Started at:           Wed Dec  5 15:45:59 2012
  Finished at:          Wed Dec  5 15:49:14 2012
  Ran for:              195.045811 seconds

  Queries per second:   4142.032048 qps


 

[root@yqsj-db queryperf]# ./queryperf -d test -s 10.82.38.15

DNS Query Performance Testing Tool
Version: $Id: queryperf.c,v 1.12 2007/09/05 07:36:04 marka Exp $

[Status] Processing input data
[Status] Sending queries (beginning with 10.82.38.15)
[Status] Testing complete

Statistics:

  Parse input file:     once
  Ended due to:         reaching end of file

  Queries sent:         807891 queries
  Queries completed:    807891 queries
  Queries lost:         0 queries
  Queries delayed(?):   0 queries

  RTT max:              0.169378 sec
  RTT min:              0.000496 sec
  RTT average:          0.005021 sec
  RTT std deviation:    0.001086 sec
  RTT out of range:     0 queries

  Percentage completed: 100.00%
  Percentage lost:        0.00%

  Started at:           Wed Dec  5 15:59:59 2012
  Finished at:          Wed Dec  5 16:03:22 2012
  Ran for:              203.490201 seconds

  Queries per second:   3970.171517 qps



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
纠正代码:trainsets = pd.read_csv('/Users/zhangxinyu/Desktop/trainsets82.csv') testsets = pd.read_csv('/Users/zhangxinyu/Desktop/testsets82.csv') y_train_forced_turnover_nolimited = trainsets['m3_forced_turnover_nolimited'] X_train = trainsets.drop(['m3_P_perf_ind_all_1','m3_P_perf_ind_all_2','m3_P_perf_ind_all_3','m3_P_perf_ind_allind_1',\ 'm3_P_perf_ind_allind_2','m3_P_perf_ind_allind_3','m3_P_perf_ind_year_1','m3_P_perf_ind_year_2',\ 'm3_P_perf_ind_year_3','m3_forced_turnover_nolimited','m3_forced_turnover_3mon',\ 'm3_forced_turnover_6mon','m3_forced_turnover_1year','m3_forced_turnover_3year',\ 'm3_forced_turnover_5year','m3_forced_turnover_10year',\ 'CEOid','CEO_turnover_N','year','Firmid','appo_year'],axis=1) y_test_forced_turnover_nolimited = testsets['m3_forced_turnover_nolimited'] X_test = testsets.drop(['m3_P_perf_ind_all_1','m3_P_perf_ind_all_2','m3_P_perf_ind_all_3','m3_P_perf_ind_allind_1',\ 'm3_P_perf_ind_allind_2','m3_P_perf_ind_allind_3','m3_P_perf_ind_year_1','m3_P_perf_ind_year_2',\ 'm3_P_perf_ind_year_3','m3_forced_turnover_nolimited','m3_forced_turnover_3mon',\ 'm3_forced_turnover_6mon','m3_forced_turnover_1year','m3_forced_turnover_3year',\ 'm3_forced_turnover_5year','m3_forced_turnover_10year',\ 'CEOid','CEO_turnover_N','year','Firmid','appo_year'],axis=1) from sklearn.ensemble import RandomForestClassifier rfc = RandomForestClassifier(n_estimators=100, max_depth=10, random_state=42) rfc.fit(X_train, y_train_forced_turnover_nolimited) y_pred = rfc.predict_proba(X_test) # 计算AUC值 auc = roc_auc_score(y_test_forced_turnover_nolimited, y_pred) # 输出AUC值 print('测试集AUC值为:', auc)
06-03
trainsets = pd.read_csv('/Users/zhangxinyu/Desktop/trainsets82.csv') testsets = pd.read_csv('/Users/zhangxinyu/Desktop/testsets82.csv') y_train_forced_turnover_nolimited = trainsets['m3_forced_turnover_nolimited'] X_train = trainsets.drop(['m3_P_perf_ind_all_1','m3_P_perf_ind_all_2','m3_P_perf_ind_all_3','m3_P_perf_ind_allind_1', 'm3_P_perf_ind_allind_2','m3_P_perf_ind_allind_3','m3_P_perf_ind_year_1','m3_P_perf_ind_year_2', 'm3_P_perf_ind_year_3','m3_forced_turnover_nolimited','m3_forced_turnover_3mon', 'm3_forced_turnover_6mon','m3_forced_turnover_1year','m3_forced_turnover_3year', 'm3_forced_turnover_5year','m3_forced_turnover_10year','CEOid','CEO_turnover_N','year', 'Firmid','appo_year'], axis=1) y_test_forced_turnover_nolimited = testsets['m3_forced_turnover_nolimited'] X_test = testsets.drop(['m3_P_perf_ind_all_1','m3_P_perf_ind_all_2','m3_P_perf_ind_all_3','m3_P_perf_ind_allind_1', 'm3_P_perf_ind_allind_2','m3_P_perf_ind_allind_3','m3_P_perf_ind_year_1','m3_P_perf_ind_year_2', 'm3_P_perf_ind_year_3','m3_forced_turnover_nolimited','m3_forced_turnover_3mon', 'm3_forced_turnover_6mon','m3_forced_turnover_1year','m3_forced_turnover_3year', 'm3_forced_turnover_5year','m3_forced_turnover_10year','CEOid','CEO_turnover_N','year', 'Firmid','appo_year'], axis=1) from sklearn.ensemble import RandomForestClassifier rfc = RandomForestClassifier(n_estimators=100, max_depth=10, random_state=42) rfc.fit(X_train, y_train_forced_turnover_nolimited) y_pred = rfc.predict_proba(X_test)[:, 1] # 计算AUC值时需要使用预测结果的概率值而不是预测结果本身 from sklearn.metrics import roc_auc_score auc = roc_auc_score(y_test_forced_turnover_nolimited, y_pred) # 计算AUC值 print('测试集AUC值为:', auc) # 输出AUC值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值