1、querperf簡介html
當咱們把DNS服務器配置好後,咱們確定會想測試一下DNS服務器的性能如何,上線後若是請求數夠多服務器還可否響應?因而,咱們可使用軟件模擬環境,對DNS服務器做評估性的測試。在bind中,有一款自帶的壓力測試軟件,queryperf。使用這款軟件能夠對DNS服務器做請求測試,而且使用方法簡單,咱們可使用queryperf測試屢次,取一個平均值,這樣就算結果不許確,也不會和實際狀況相差太大。
vim
2、queryperf安裝服務器
一、queryperf是bind自帶的測試軟件,因此咱們直接上官網下載bind,解壓後就能找到queryperf的安裝包。tcp
wget http://www.isc.org/downloads/file/bind-9-8-7rc2/?version=tar.gz
二、不知道爲何,這個文件下載完成後的名字是這個,index.html\?version\=tar.gz,好吧咱們解壓吧。ide
tar xf index.html\?version\=tar.gz
三、解壓後,找到目錄 contrib ,bind自帶的第三方軟件全在這個目錄裏面,咱們要用到的queryperf也在裏面。工具
四、進入queryperf目錄,開始編譯安裝。可使用 ./configure -h 查看安裝幫助,不過咱們默認安裝就好了。性能
./configure
make
五、經過上面的編譯後,展開queryperf目錄,在該目錄下已經生成了一個queryperf的可執行文件。這個文件就是咱們要用到的程序,咱們把該程序移動到/usr/bin/目錄下就可使用了。測試
cp queryperf /usr/bin/
3、使用queryperf測試DNS服務器3d
在測試以前,咱們先把DNS服務器架設好。咱們以域名wubinary.com爲例,架設DNS服務器,dns.wubinary.com。
日誌
一、wubinary.com區域的資源記錄文件wubinary.com.zone內容以下。
二、測試DNS服務器可否正常使用。
從新啓動服務:
測試域名blog.wubinary.com
DNS服務器工做正常,接下來可使用queryperf做壓力測試了。
三、queryperf使用格式:
queryperf [-d datafile] [-s server_addr] [-p port] [-q num_queries]
-d: 後面接上一個文件,文件的內容是用戶對DNS的請求,一行爲一條請求,因此爲了測試,咱們能夠在裏面寫上幾千幾萬條。
-s: DNS服務器地址
-p: DNS服務器端口
-q: 請求多少次
使用vim命令先建立一個請求文件:vim querytest.txt
這幾條記錄還遠遠不夠,咱們使用vim命令 1,$y 複製一下。
六百多萬條了,開始測試吧。
四、性能測試。
執行命令:
queryperf -d querytest.txt -s 192.168.0.6
此時使用top命令能夠看到CPU和內存的使用率。
結果以下:
測試過程完成,能夠多測試幾回取平均值。
4、性能測試總結
一、在做服務器的性能測試時,最好不要在服務器平臺自身使用測試軟件測試,最好換另一臺機器,這樣CPU處理的結果會更準確。
二、測試時先預估平臺會遇到的最大請求數,用這個請求數做測試,量力而爲,由於若是服務器遇到大流量的DDOS,單一機器性能再好,也扛不住。
三、使用queryperf做性能測試時,最好測試屢次,取平均值。
四、能夠修改配置文件的部分參數測試,如,開啓遞歸,開啓查詢日誌等功能做測試。
五、其它開源測試工具,tcpcopy