1. 程式人生 > >使用Apache的ab進行壓力測試

使用Apache的ab進行壓力測試

概述

ab是apache自帶的壓力測試工具,當安裝完apache的時候,就可以在bin下面找到ab然後進行apache 負載壓力測試。

後臺測試開發中,常用的壓力測試服務,php一般選擇xampp,下載地址:點選開啟連結,java後臺,如果你選用apache,apache http自帶了ab壓力測試工具,地址:點選開啟連結

下面以apache http server介紹ab壓力測試。

安裝

下載:http://httpd.apache.org/



注:   PHP官方推薦httpd使用prefork(php能更穩定地執行),而不是執行緒化的worker和event,httpd-2.4.x預設使用執行緒化的event作為mpm。
   Linux上很多PECL庫都是非執行緒安全的,libphp5.so線上程化的httpd(event/worker)中執行可能會出現一些問題,為了保持相容性和穩定性,PHP一般還是使用httpd-2.2.x(prefork)這個分支。

選擇具體的型別


注:後兩個是有名的wamp以及xampp整合環境,如果只想下載apache可以選擇前三個網站,這裡我們第一個ApacheHaus為例。點選開啟連結
這裡需要說明的是:httpd-2.2.x(prefork)
httpd-2.4.x(event) 編譯時可以使用--with-mpm=prefork手動指定其使用prefork
下載完後解壓,ab.exe程式就在E:\Apache24\bin中(這裡可以將httpd -k install,把apache安裝成windows後臺服務),這裡我們直接使用ab命令測試

使用ab命令
這裡我們沒有伺服器,所以這段講解用網路的圖片。如我們使用下面的命令# ab -n1000 -c10 http://192.168.116.193/index.html    #表示每次併發10個請求,總共請求1000次
我先在linux上啟動一個node程式,此時訪問地址是:http://192.168.132.144:8000/             開啟cmd進入到bin目錄中,輸入ab.exe -c 1000 -n 1000 http://192.168.132.144:8000/         注意最後一個/必須要輸入

ab的其他命令

格式: ./ab [options] [http://]hostname[:port]/path
Ab命令引數註釋:
  -n    #指定在測試會話中所執行的請求個數。預設時,僅執行一個請求。 
  -c    #指定一次產生的請求個數。預設是一次一個。
  -t    #測試所進行的最大秒數。其內部隱含值是-n 50000。它可以使對伺服器的測試限制在一個固定的總時間以內。預設時,沒有時間限制。
  -p    #包含了需要POST的資料的檔案.
  -T    #POST資料所使用的Content-type頭資訊。
  -v    #設定顯示資訊的詳細程度 - 4或更大值會顯示頭資訊, 3或更大值可以顯示響應程式碼(404, 200等), 2或更大值可以顯示警告和其他資訊。 -V 顯示版本號並退出。
  -w    #以HTML表的格式輸出結果。預設時,它是白色背景的兩列寬度的一張表。
  -I    #執行HEAD請求,而不是GET。