Apache Server Benchmark 測試

要作 apache server benchmark 不用到處尋找其他的軟體,事實上 apache 就有內建了,這個指令就是 ab 。

debian user 請使用 apt-get 安裝 apache2-utils 套件。

使用方法為:

1
# ab -c 每個ip連線數 -n 總共多少ip 網址 # ab -c 5 -n 1000 http://127.0.0.1

對 apache server 要求 1000 個連線,每個連線對 apache 有五個 request ,這意思是像瀏覽一般網頁的行為一樣,會抓取圖檔和網頁的部份,而抓一個網頁差不多需要五個 request 。接著稍等一段時間,結果就會出來了。

靜態網頁:

1
Connection Times (ms) min mean[+/-sd] median max Connect: 0 1 0.8 1 4 Processing: 1 2 4.2 2 113 Waiting: 0 1 4.1 1 111 Total: 3 4 4.1 4 115

動態頁面,以我的 blog 來作測試。

1
Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 5.9 0 103 Processing: 2491 3237 270.4 3148 4373 Waiting: 2351 3132 261.2 3055 4285 Total: 2491 3238 270.9 3148 4373

我們可以看到以單純的 html 檔, apache 回應超快,即時我使用的只有 p3-800 的 cpu ,但每個請求大概只要 0.03 秒至 0.1 秒左右,但是我抓取我的 blog 首頁,就差不多會多個十倍以上的速度了。這樣發現 lyceum 當作 blog 的首頁只有慘而已,看來要想一些辦法來加速了。

之前看到一篇文章,如果要加速 apache 的回應速度除了使用 mmcache 之外,把靜態和動態網頁分開不同的 apache 執行,並利用 proxy 指向不同的 apache ,這也是不錯的方法。