skydns+etcd域名服务压测

一、Dns压力测试

1.        目的:同机房与跨机房访问域名解析服务性能对比、稳定性测试、极限测试。

2.        环境:skydns+etcd集群,skydns提供域名解析服务,etcd集群同步冗余域名信息。

3.        方法:同机房压测skydns域名解析服务;跨机房从A机房压测B机房域名解析服务。

4.        测试文件:写入55个域名,每一次并发发送55个域名。600次并发,发送600次55个域名请求。

5.        压测工具

工具:使用bind域名服务提供的域名压测程序:queryperf

命令:queryperf -d filename -s ip -l 3600 -q 600

命令参数:-d指定域名输入文件、-s指定ip、-l指定压测时长、-q指定并发量

6.        网络拓扑图

 

      skydns+etcd域名服务压测_第1张图片

 

       如上网络拓扑图,queryperf程序发送压测请求到skydns服务器,skydns服务器调度算法读取etcd上域名信息,然后,返回域名解析结果到queryperf。skydns可以部署在etcd的同一机器上。

 

7.        服务器配置

测试机:11核Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz、40G、万兆网卡

Skydns:7核Intel(R)Xeon(R) CPU E5-2620 v3 @ 2.40GHz、25G、万兆网卡

etcd:7核Intel(R)Xeon(R) CPU E5-2620 v3 @ 2.40GHz、25G、万兆网卡

 

 

 

二、同机房测试

1.        同机房极限测试

 

序号

对象

时长

并发

qps

总数

命中率

1

同机房

3600

600

24962

89991308

100%

2

同机房

3600

60000

26452

98905521

0.93%

3

同机房

3600

12000

17739

72368985

88.36%

4

同机房

3600

5000

28407

104898857

97.63%

 

   压测效果最好在第1项,命中率100%,并发量在600左右,域名解析服务正常;

   压测效果最差在第2项,命中率0.93%,并发量60000左右,域名解析拒绝服务;

   压测效果稍好在第4项,命中率97.6%,并发量5000左右,域名解析服务中良;

 

 

2.        同机房稳定性测试

 

序号

对象

时长

并发

qps

总数

命中率

1

同机房

3600

600

24962

89991308

100%

2

同机房

900

1000

29751

26930924

99.98%

3

同机房

900

2000

27961

25346056

99.82%

4

同机房

900

3000

30646

27860677

99.55%

5

同机房

1800

4500

28489

52402263

98.13%

6

同机房

1800

4500

28682

52749551

98.15%

 

      第1、2项看出,并发量600-1000,域名解析效果最好,命中率基本稳定在100%;

      第3、4项看出,并发量2000-3000,域名解析效果良好,命中率稳定在99.55%以上;

      第5、6项看出,并发量4500,域名解析命中率开始降低,命中率稳定98.13%以上;

 

 

3.        同机房本地DNS与外网DNS压测对比

 

序号

DNS

DNS数量

时长

并发

qps

总数

命中率

1

本地

16

300

600

22148

6750701

100.00%

2

外地

16

300

600

22822

6955956

100.00%

3

本地

16

300

1000

11894

3627395

100.00%

4

外地

16

300

1000

9512

2899953

100.00%

5

本地

16

300

2000

4520

1380189

99.88%

6

外地

16

300

2000

5122

1564401

99.83%

7

本地

16

300

3000

3889

1206198

98.33%

8

外地

16

300

3000

3775

1157477

99.47%

9

本地

16

300

4000

3241

1120274

92.60%

10

外地

16

300

4000

3418

1055771

98.73%

      

   






 






 


第3、4项看出,并发量1000,压测本地与外地域名有优势,体现在qps与总数;

第5、6项看出,并发量2000,压测外地与本地域名有优势,体现在qps与总数; 

第7、8、9、10项看出,并发量3000-4000,压测外地与本地域名优势更加明显;

 

三、跨机房测试

1.        跨机房稳定性测试


序号

对象

时长

并发

qps

总数

命中率

1

跨机房

900

600

13131

11877769

99.99%

2

跨机房

900

1000

14173

12834572

99.93%

3

跨机房

900

2000

14727

13437553

99.18%

4

跨机房

900

3000

14633

13555444

97.70%

 

   第1、2项看出,并发量600-1000,域名解析效果最好,命中率基本稳定在99.90%以上;

   第3项看出,并发量2000,域名解析效果良好,命中率稳定在99.1%,出现丢包情况;

   第4项看出,并发量4000,域名解析效果中良,命中率稳定在97.7%,丢包情况严重;

 

四、性能对比

1.        同机房与跨机房性能对比

 

序号

对象

时长

并发

qps

总数

命中率

1

同机房

3600

600

24962

89991308

100%

2

跨机房

900

600

13131

11877769

99.99%

3

同机房

900

1000

29751

26930924

99.98%

4

跨机房

900

1000

14173

12834572

99.93%

5

同机房

900

2000

27961

25346056

99.82%

6

跨机房

900

2000

14727

13437553

99.18%

7

同机房

900

3000

30646

27860677

99.55%

8

跨机房

900

3000

14633

13555444

97.70%

9

同机房

1800

4500

28489

52402263

98.13%

10

同机房

1800

4500

28682

52749551

98.15%

 

  

 

 













   第1、2项看出,并发量600,同机房与跨机房域名解析效果基本持平,命中率都在99.99%;

   第3、4项看出,并发量1000,同机房与跨机房域名解析效果开始出现差异;

   第5、6项看出,并发量2000,同机房与跨机房域名解析效果差异比较明显;

   第5、6项看出,并发量3000,同机房与跨机房域名解析效果差异在2%的命中率;

   在qps与域名解析总请求数量上看,任何时刻,本地机房是跨机房的一倍左右;



五、趋势图分析

1.        CPU空闲

 

从趋势图看来并发量达到60000压测,cpu仍然健康,说明压测限制条件不在于cpu。

 

并发量在600时,cpu最平稳;

出现峰值又逐渐波动降低,开始大量请求涌入,因为性能问题,无法处理太多请求;

后来出现平稳的波动,开始域名功能平稳测试,并发量在4000-12000不等;

 

 

2.        网络总输出比特

 

从趋势图来看,网络输出比特量永远没有达到网卡极限,压侧限制条件不在于网卡

  

 

 

 

 

 

3.        网络总输入比特

 

从趋势图来看,网络输入比特量永远没有达到网卡极限,压侧限制条件不在于网卡

 

 

 

六、结论

压测性能瓶颈在于dns服务器本身,而跨机房与同机房的qps与总量相差一倍。并发量1000时,dns服务工作稳定。并发量在3000以上,跨机房丢包率比较严重,大约2.5%。并发在5000以上,同机房丢包率比较严重,大约2.5%。建议尽量避免skydns跨机房访问,搭建同机房的skydns集群,搭建跨机房的etcd集群服务,而同机房的skydns只指向同机房的etcd集群。

你可能感兴趣的:(运维之路,自由开源,系统架构)