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.        網絡拓撲圖

 

      

 

       如上網絡拓撲圖,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集羣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章