- 下載ab.exe文件
- 在CMD中打開這個exe文件拟烫。
- 輸入命令行: 也可以不需要-A后面的。
ab -A 186*****:12**** -n 2000 -c 200 http://10.2.1.245:8080/ >> e:/12.txt
- 返回結(jié)果
- 查看LOG文檔
以下是相關(guān)文檔
什么是壓力測試迄本,為什么要進行壓力測試硕淑?
壓力測試通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點,來獲得系統(tǒng)能提供的最大的服務(wù)級別的測試嘉赎。通俗地講置媳,壓力測試是為了發(fā)現(xiàn)在什么條件下您的應(yīng)用程序的性能會變得不可接受。再簡單點公条,就是你網(wǎng)站的性能的一個評定拇囊,性能由本身程序和網(wǎng)站服務(wù)器共同決定。 而進行壓力測試靶橱,就是為了讓你更好得掌握網(wǎng)站的各個信息寥袭。
Apache自帶工具AB是什么?
Apache Benchmark簡稱為ab关霸,是apache自帶的用于HTTP Server測試的工具。它可以接受單一的URL队寇,然后重復(fù)地按照指定的多個獨立線程的方式加載膘掰,并使用不同的命令行參數(shù)控制訪問的次數(shù)、最大的并發(fā)訪問數(shù)等佳遣。
AB怎么用识埋?
語法
ab [ -A auth-username:password ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-username:password ] [ -q ] [ -s ] [ -S ] [ -t timelimit ] [ -T content-type ] [ -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port] ] [ -y <tr>-attributes ] [ -z <td>-attributes ] [http://]hostname[:port]/path
選項
-A auth-username:password
向服務(wù)器提供基本認(rèn)證信息啤覆。用戶名和密碼之間由一個":"隔開,并將被以base64編碼形式發(fā)送惭聂。無論服務(wù)器是否需要(即是否發(fā)送了401認(rèn)證需求代碼)窗声,此字符串都會被發(fā)送。
-c concurrency
一次產(chǎn)生的請求個數(shù)辜纲。默認(rèn)是一次一個笨觅。
-C cookie-name=value
對請求附加一個"Cookie:"頭行。其典型形式是 name=value 的一個參數(shù)對耕腾。此參數(shù)可以重復(fù)见剩。
-d
不顯示"percentage served within XX [ms] table"消息(為以前的版本提供支持)。
-e csv-file
產(chǎn)生一個逗號分隔(CSV)文件扫俺,其中包含了處理每個相應(yīng)百分比請求(從1%到100%)所需要的相應(yīng)百分比時間(以微秒為單位)苍苞。由于這種格式已經(jīng)"二進制化",所以比"gnuplot"格式更有用狼纬。
-g gnuplot-file
把所有測試結(jié)果寫入一個"gnuplot"或者TSV(以Tab分隔)文件羹呵。此文件可以方便地導(dǎo)入到 Gnuplot, IDL, Mathematica, Excel中。其中的第一行為標(biāo)題疗琉。
-h
顯示使用方法的幫助信息冈欢。
-H custom-header
對請求附加額外的頭信息。此參數(shù)的典型形式是一個有效的頭信息行盈简,其中包含了以冒號分隔的字段和值(如:"Accept-Encoding: zip/zop;8bit")凑耻。
-i
執(zhí)行HEAD請求,而不是GET 柠贤。
-k
啟用KeepAlive功能香浩,即在一個HTTP會話中執(zhí)行多個請求。默認(rèn)不啟用KeepAlive功能臼勉。
-n requests
在測試會話中所執(zhí)行的請求個數(shù)邻吭。默認(rèn)僅執(zhí)行一個請求,此時其結(jié)果不具有意義坚俗。
-p POST-file
包含了POST數(shù)據(jù)的文件镜盯。
-P proxy-auth-username:password
對一個中轉(zhuǎn)代理提供基本認(rèn)證信息。用戶名和密碼由一個":"隔開猖败,并將被以base64編碼形式發(fā)送。無論服務(wù)器是否需要(即是否發(fā)送了407代理認(rèn)證需求代碼)降允,此字符串都會被發(fā)送恩闻。
-q
如果處理的請求數(shù)大于150,ab每處理大約10%或者100個請求時剧董,會在stderr輸出一個進度計數(shù)幢尚。此 -q 標(biāo)記可以屏蔽這些信息破停。
-s
用于編譯中(ab -h 會告訴你)使用了SSL的受保護的https ,而不是http協(xié)議的時候尉剩。此功能是實驗性的真慢,最好不要用。
-S
不顯示中值和標(biāo)準(zhǔn)偏差值理茎,而且在均值和中值為標(biāo)準(zhǔn)偏差值的1到2倍時黑界,也不顯示警告或出錯信息。默認(rèn)時皂林,會顯示最小值/均值/最大值等數(shù)值朗鸠。(為以前的版本提供支持)
-t timelimit
測試所進行的最大秒數(shù)。內(nèi)部隱含值是"-n 50000"础倍。它可以使對服務(wù)器的測試限制在一個固定的總時間以內(nèi)烛占。默認(rèn)時,沒有時間限制沟启。
-T content-type
POST數(shù)據(jù)時所使用的"Content-type"頭信息忆家。
-v verbosity
設(shè)置顯示信息的詳細(xì)程度,4或更大值會顯示頭信息德迹,3或更大值可以顯示響應(yīng)代碼(404弦赖,200等),2或更大值可以顯示警告和其他信息浦辨。
-V
顯示版本號并退出蹬竖。
-w
以HTML表格形式輸出結(jié)果。默認(rèn)時流酬,它是白色背景的兩列寬度的一張表币厕。
-x <table>-attributes
設(shè)置<table>屬性的字符串。此屬性被填入<table 這里 > 芽腾。
-X proxy[:port]
對請求使用代理服務(wù)器旦装。
-y <tr>-attributes
設(shè)置<tr>屬性的字符串。
-z <td>-attributes
設(shè)置<td>屬性的字符串摊滔。
使用例子:
1阴绢、打開dos界面,開始-》運行-》輸入“cmd”-》回車(win7直接在開始的搜索框中輸入cmd然后回車)
2艰躺、切換至你操作系統(tǒng)的apache目錄的bin目錄下
3呻袭、然后輸入命令,下面以測試www.baidu.com為例腺兴,進行一個簡單的常用壓力測試
輸入命令"ab -c 100 -n 100 http://www.baidu.com/"然后回車左电,你會看到:
圖片中參數(shù)含義講解:
Concurrency Level--->整個測試持續(xù)的時間
Time taken for tests--->完成的請求數(shù)量
Complete requests--->失敗的請求數(shù)量
Keep-Alive requests--->保持聯(lián)機連接的請求數(shù)量。只有在命令行中使用-k,才能看到該屬性值
Total transferred---->整個場景中的網(wǎng)絡(luò)傳輸量
HTML transferred---->整個場景中的HTML內(nèi)容傳輸量
Requests per second---->每秒鐘平均處理的請求數(shù)
Time per request---->每個線程下的一組請求平均消耗時間
Time per request---->并發(fā)的每個請求平均消耗時間
Transfer rate---->平均每秒網(wǎng)絡(luò)上的流量篓足,可以幫助排除是否存在網(wǎng)絡(luò)流量過大導(dǎo)致響應(yīng)時間延長的問題
Percentage of the requests served within a certain time (ms)
這句話的意思是:下面的內(nèi)容為整個場景中所有請求的響應(yīng)情況
而剛剛輸入的:ab -c 100 -n 100 http://www.baidu.com/的意思是:請求100次段誊,100個并發(fā)