Web開發,少不了的就是壓力測試,它是評估一個產品是否合格上線的基本標準,下面咱們來一一剖析他們的使用方式。web
測試前,前面先把系統的端口限制數改大,看看Mac下面的默認限制apache
ulimit -a open files (-n) 2560
2000多的fd數是很小的,咱們把他改大,固然我測試過了,也只能開10000而已,Linux能夠開6W多,因此:併發
ulimit -n 10000
在用 ulimit -a 檢查一下socket
open files (-n) 10000
接下來把cpu檢查打開,一般咱們只看使用率最高的那個便可:工具
top -n1
-n3 就是前面3個了,以此類推。測試
OK咱們能夠繼續了。。。網站
webbench是一枚強大得能夠的壓力測試工具,它最多能夠模擬3萬個併發鏈接去測試網站的負載能力,我的感受要比Apache自帶的ab壓力測試工具好,安裝使用也特別方便。code
安裝:開發
sudo port install webbench
用法:文檔
webbench -c 併發數 -t 運行測試時間 URL
如:
webbench -c 5000 -t 120 http://www.epooll.com
ab是Apache自帶的壓力測試工具,很是小巧,惋惜的是在mac下面表現不佳,跳動太大,並且還會出現 apr_socket_recv: Connection reset by peer (54) 的錯誤。ab想說愛你不容易呀,不過Linux下仍是比較穩定的,因此仍是來講說用法吧。
安裝:
http://apache.mirrors.pair.com/httpd/
用法:
ab -c 併發數 -n 請求數 URL
如:
ab -c 1000 -n 10000 http://www.epooll.com
固然其餘用法就本身 man ab 而後好好看文檔啦
siege是我解決ab該死的 apr_socket_recv: Connection reset by peer (54) 錯誤時發現的一個好工具,不得不說這工具真心好,用法和webbench同樣,可是信息全面不少。
安裝:
sudo port install siege
用法:
siege -c 併發數 -t 運行測試時間 URL
如:
siege -c 1000 -t 5s URL
這裏要注意的是-t後面的時間要帶單位,s表示秒,若是不帶,就是分鐘,分鐘的單位,仍是挺長的,因此要注意一下。