2015-03-22

Ubuntu Linux 用 ab 指令測試網站效能

關於這個 ab 指令,阿舍之前公司的同事都會用它來對網站做簡單的壓力測試,不過,阿舍倒是都沒有特別的去用到,所以,也就沒有多做研究哩 ! 但是,阿舍還是有點好奇,一直想找時間來玩玩看,嗯 ! 今天天氣不錯,阿舍也有空,那就來試試囉 !


原來 ... 這個 ab 指令是 ApacheBench 的縮寫,它是 Apache2 的 Benchmark 工具,被放在 apache2-utils 這個套件裡 ([apache2-utils 還有包含其它的程式](http://packages.ubuntu.com/lucid/amd64/apache2-utils/filelist)),而 Ubuntu 並沒有預載 apache2-utils 這個套件,所以,如果要用 ab 指令的話,就要先用下面這一行來安裝,這個 apache2-utils 是個可以獨立運作的套件,不需要先安裝 apache2 套件哩 !

$ sudo apt-get install apache2-utils

ab 指令最簡單的用法,就是透過 -n 選項指定要對 Web Server 送出的 Request 總數量,然後,用 -c 選項指定同時間提出要求的數量 ( Concurrency ),最後,再指定要測試的網頁網址,以阿舍要對 http://x.arthurtoday.com/xyz.html 網頁送出 50000 次要求 (Request),然後,每次同時提出 10 個要求為例,操作的指令就是下面這一行的樣子,而第二行則是使用 Keep-Alive 的連線的方式。

$ ab -n 50000 -c 100 x.arthurtoday.com/xyz.html

$ ab -k -n 50000 -c 100 x.arthurtoday.com/xyz.html

執行的時間會和你設定的要求數量、網路狀況及 Web Server 的效能有關,ab 指令執行完成後,就會在畫面上出現一個測試的結果, 從這個跑出來的結果裡,就可以看出被測試的網頁的許多反應時間及下載量的數據,開發人員或系統管理人員可以對網依據這些數據來瞭解有問題的網頁的問題大概是出現在下載或處理的時間,然後,就可以做進一步的調整哩 !

雖然 ab 指令可以匯出檔案,但內容和畫面上出現的不同哩 !
最後,阿舍要提醒的是,由於每台電腦的執行效能與頻寬有限,如果需要測試大量或超大量的要求數時,阿舍建議是採用多部電腦來同時使用 ab 指令要求,否則,只用一台的情況下,很可能因為機器本身的效能問題,而無法真正的送出預期的要求數量而造成測試失真哩 !



推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁