第五章 網路安全防禦機制之效能測試分析
5.3. Httperf 效能測試分析
本研究使用 Httperf 效能測試工具測試各種網路防禦架構的回應時 間、每秒傳送之封包數以及 Request 封包回應之錯誤率,並於 Web Server 中放置兩個大小不同的檔案進行測試(15k 及 45k),以利網路效 能測試使用。
實驗測試步驟
Httperf 測試方法需在 Web Server 主機上開啟 Httpd 服務,指令如 下:
#/etc/init.d/httpd start
利用 dd 指令產生 15k 及 45k 之檔案,並將上述二個檔案放置於 /var/www/html 目錄底下,指令如下:
#dd if=/dev/zero of=/var/www/html/15k bs=1k count=15
#dd if=/dev/zero of=/var/www/html/45k bs=1k count=45
67
在封包產生主機(PGHost)上,撰寫一支 shell script 進行 Httperf 之 網路效能測試,內容如下:
#vi runhttperf.sh #/bin/bash
httperf --timeout=10 --client=0/1 --server=$1 --port=80 --uri=/$2 --rate=$3 --send-buffer=4096 --recv-buffer=16384 --num-conns=$4 --num-calls=$5 > httperf.$2.$3.$4.$5.txt httperf 參數說明:
--server : Web Server IP --uri : File Location
--rate : Connection per Second --num-conn : Total Connection
--num-calls : Request per Connection
以每秒 500 個 request 設定抓取 15k 檔案為例,可執行如下指令:
#./runhttperf.sh server_ip 15k 50 5000 10 測試完成後會得到如下的內容:
httperf --timeout=10 --client=0/1 --server=$1 --port=80 --uri=/$2 --rate=$3 --send-buffer=4096 --recv-buffer=16384 --num-conns=$4 --num-calls=$5 > httperf.$2.$3.$4.$5.txt httperf 參數說明:
--server : Web Server IP --uri : File Location
--rate : Connection per Second --num-conn : Total Connection
--num-calls : Request per Connection
Total: connections 5000 requests 50000 replies 50000 test-duration 100.006 s
Connection rate: 50.0 conn/s (20.0 ms/conn, <=26 concurrent connections) Connection time [ms]: min 18.5 avg 32.5 max 3039.8 median 26.5 stddev 90.8 Connection time [ms]: connect 4.1
Connection length [replies/conn]: 10.000
68
可從上述檔案得知 Response Time,並且能夠知道有多少個已送 出的 request 封包但沒有收到 replies 封包之情況。每一次測試皆利用 指令 netstat 將網路卡 RX 及 TX 的封包數及位元數記錄下來,指令如 下所示:
#netstat –eI ethX 10
最後透過底下公式進行計算,得到 PPS:
_ _
20
Packets After Packets Before
PPS
Request rate: 500.0 req/s (2.0 ms/req) Request size [B]: 68.0
Reply rate [replies/s]: min 487.2 avg 500.0 max 515.6 stddev 6.2 (20 samples) Reply time [ms]: response 1.4 transfer 1.4
Reply size [B]: header 250.0 content 15360.0 footer 0.0 (total 15610.0) Reply status: 1xx=0 2xx=50000 3xx=0 4xx=0 5xx=0
CPU time [s]: user 21.36 system 78.62 (user 21.4% system 78.6% total 100.0%) Net I/O: 7654.8 KB/s (62.7*10^6 bps)
Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0 Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0
69
每秒封包數之比較
圖 38 為利用 httperf 測試網站伺服器上 15K 的檔案大小之每秒封 包數比較圖,從圖中可看出其成長曲線皆為 45 度角的直線,表示各種 網路防禦架構的每秒封包數在每秒不同數量的 request 封包測試下數 據都非常的接近,其皆呈 45 度角的直線等比往上成長。表示在 15K 的檔案測試下,每秒封包數無太大的差異。
圖 38 網路效能每秒封包數之比較圖(15K)
圖 39 為利用 httperf 測試網站伺服器上 45K 的檔案大小之每秒封 包數比較圖,從圖中可看出其成長曲線在每秒鐘 300 個 request 封包 之後開始有了不一樣的變動,無防禦設備、整合威脅管理系統及傳統 縱深防禦(無 IPS)大致上還是呈現 45 度角往上等比成長,只是傳統縱 深防禦(無 IPS)成長的幅度偏緩,而虛擬化縱深防禦(有 IPS)在 4000 個封包左右即呈現平行,傳統縱深防禦(有 IPS)則在 6000 個封包數後 也無法再往上成長,而虛擬化縱深防禦(無 IPS)在每秒鐘 500 個 request 封包後開始呈現負成長,這表示其主機資源已使用過量,因此無法維
70
持平盤。從每秒 8000 個 request 封包降至每秒 6000 個 request 封包。
圖 39 網路效能每秒封包數之比較圖(45K) 封包回應時間之比較
圖 40 為利用 httperf 測試網站伺服器上 15K 的檔案大小之封包回 應時間比較圖,從圖中左列可看出單位時間差異並不大,表示各種網 路防禦架構的回應時間都很接近,在每秒 700 個 request 封包傳送下,
以最快的無防禦設備之回應時間和最慢的虛擬化縱深防禦(有 IPS)之 回應時間作比較,其差距頂多在 3ms 之內,所以網路效能封包回應時 間在 15K 的檔案大小時,回應時間的差異性並不大。
71
圖 40 網路效能封包回應時間之比較圖(15K)
圖 41 為利用 httperf 測試網站伺服器上 45K 的檔案大小之封包回 應時間比較圖,從圖中左列可看出單位時間差異量較大,表示各種網 路防禦架構的回應時間在每秒送出不同 request 數的測試下,有非常大 的差距,從圖中可清楚看到在無防禦設備及傳統縱深防禦(無 IPS)的架 構下,回應時間平均為 1.8 左右,而在每秒 300 個 request 封包傳送 下,在傳統縱深防禦(有 IPS)已上升至 200ms 以上,而虛擬化縱深防 禦(有 IPS)更上升至 800ms 以上,而在每秒 500 個 request 封包傳送 下,在傳統縱深防禦(有 IPS)已上升至 600ms 以上,而虛擬化縱深防 禦(有 IPS)上升至 900ms 以上,在每秒 700 個 request 封包傳送下,
在傳統縱深防禦(有 IPS)還是維持在 600ms 以上,而虛擬化縱深防禦 (有 IPS)則已接近 1000ms,而整合威脅管理系統及虛擬化縱深防禦(無 IPS)的反應時間則往上升接近 500ms 左右,因此當檔案變大至 45K 時,其回應時間的差異性較大。
72
圖 41 網路效能封包回應時間之比較圖(45K) Request 封包回應之錯誤率比較
圖 42 為利用 httperf 測試網站伺服器上 15K 的檔案大小之封包回 應之錯誤率比較圖,從圖中可看出所有網路安全防禦架構都沒有遺失 任何回應(replies)封包,所以網路效能封包回應之錯誤率在每秒鐘送出 不同 request 封包要求伺服器上 15K 的檔案大小時,其錯誤率為 0。
圖 42 網路效能 Request 封包回應之錯誤率比較圖(15K)
73
圖 43 為利用 httperf 測試網站伺服器上 45K 的檔案大小之封包回 應之錯誤率比較圖,從圖中可清楚看到在每秒 100 個 request 封包傳 送下,無防禦設備及傳統縱深防禦(無 IPS)的架構之錯誤率為 0,而在 每秒 300 個 request 封包傳送下,在傳統縱深防禦(有 IPS)之錯誤率上 升至 1%,而虛擬化縱深防禦(有 IPS)之錯誤率已上升至 5%,而在每 秒 500 個 request 封包傳送下,在傳統縱深防禦(有 IPS)之錯誤率已上 升至 7%,而虛擬化縱深防禦(有 IPS)則上升至 15%,在每秒 700 個 request 封包傳送下,在傳統縱深防禦(有 IPS)之錯誤率已上升至 13%,而虛擬化縱深防禦(有 IPS)之錯誤率則已上升至 24%,而整合威 脅管理系統之錯誤率上升至 2%及虛擬化縱深防禦(無 IPS)之錯誤率則 上升至 14%,因此當檔案變大至 45K 時,其 Request 封包回應之錯誤 率的變化較大。
圖 43 網路效能 Request 封包回應之錯誤率比較圖(45K)
74