文件說明
ab是apache自帶的一個很好用的壓力測試工具,當安裝完apache的時候,就能夠在bin下面找到ab
下載連接html
Linux/Mac: 一、yum -y install httpd-tools 查看信息:ab -V 二、http://httpd.apache.org/download.cgi#apache24 Windows:http://www.apachehaus.com/cgi-bin/download.plx 下載後解壓,並追加PATH環境變量,如";E:\software\Apache24\bin"
測試用例apache
#咱們能夠模擬100個併發用戶,對一個頁面發送100個請求# ab -n 100 -c 100 -p E:\param.txt -T application/json http://xx.com 經常使用參數 -n 請求數 -c 併發數 -p 參數文本路徑 -T 請求參數類型 更多參數 -n 在測試會話中所執行的請求個數。默認時,僅執行一個請求。 -c 一次產生的請求個數。默認是一次一個。 -t 測試所進行的最大秒數。其內部隱含值是-n 50000,它可使對服務器的測試限制在一個固定的總時間之內。默認時,沒有時間限制。 -p 包含了須要POST的數據的文件。 -P 對一箇中轉代理提供BASIC認證信任。用戶名和密碼由一個:隔開,並以base64編碼形式發送。不管服務器是否須要(即, 是否發送了401認證需求代碼),此字符串都會被髮送。 -T POST數據所使用的Content-type頭信息。 -v 設置顯示信息的詳細程度-4或更大值會顯示頭信息,3或更大值能夠顯示響應代碼(404,200等),2或更大值能夠顯示警告和其餘信息。 -V 顯示版本號並退出。 -w 以HTML表的格式輸出結果。默認時,它是白色背景的兩列寬度的一張表。 -i 執行HEAD請求,而不是GET。 -x 設置<table>屬性的字符串。 -X 對請求使用代理服務器。 -y 設置<tr>屬性的字符串。 -z 設置<td>屬性的字符串。 -C 對請求附加一個Cookie:行。其典型形式是name=value的一個參數對,此參數能夠重複。 -H 對請求附加額外的頭信息。此參數的典型形式是一個有效的頭信息行,其中包含了以冒號分隔的字段和值的對(如,"Accept-Encoding:zip/zop;8bit")。 -A 對服務器提供BASIC認證信任。用戶名和密碼由一個:隔開,並以base64編碼形式發送。不管服務器是否須要(即,是否發送了401認證需求代碼),此字符串都會被髮送。 -h 顯示使用方法。 -d 不顯示"percentage served within XX [ms] table"的消息(爲之前的版本提供支持)。 -e 產生一個以逗號分隔的(CSV)文件,其中包含了處理每一個相應百分比的請求所須要(從1%到100%)的相應百分比的(以微妙爲單位)時間。因爲這種格式已經「二進制化」,因此比'gnuplot'格式更有用。 -g 把全部測試結果寫入一個'gnuplot'或者TSV(以Tab分隔的)文件。此文件能夠方便地導入到Gnuplot,IDL,Mathematica,Igor甚至Excel中。其中的第一行爲標題。 -i 執行HEAD請求,而不是GET。 -k 啓用HTTP KeepAlive功能,即在一個HTTP會話中執行多個請求。默認時,不啓用KeepAlive功能。 -q 若是處理的請求數大於150,ab每處理大約10%或者100個請求時,會在stderr輸出一個進度計數。此-q標記能夠抑制這些信息。
返回信息解析json
This is ApacheBench, Version 2.3 <$Revision: 1796539 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: Apache-Coyote/1.1 ##apache版本 Server Hostname: 127.0.0.1 ##請求的機子 Server Port: 8080 ##請求端口 Document Path: / Document Length: 1825 bytes ##頁面長度 Concurrency Level: 100 ##併發數 Time taken for tests: 0.273 seconds ##共使用了多少時間 Complete requests: 1000 ##請求數 Failed requests: 0 ##失敗請求 Total transferred: 275000 bytes ##總共傳輸字節數,包含http的頭信息等 HTML transferred: 25000 bytes ##html字節數,實際的頁面傳遞字節數 Requests per second: 3661.60 [#/sec] (mean) ##每秒多少請求,這個是很是重要的參數數值,服務器的吞吐量 Time per request: 27.310 [ms] (mean) ##用戶平均請求等待時間 Time per request: 0.273 [ms] (mean, across all concurrent requests) #服務器平均處理時間 Transfer rate: 983.34 [Kbytes/sec] received ##每秒獲取的數據長度 Connection Times (ms) min mean[+/-sd] median max Connect: 0 1 2.3 0 16 Processing: 6 25 3.2 25 32 Waiting: 5 24 3.2 25 32 Total: 6 25 4.0 25 48 Percentage of the requests served within a certain time (ms) 50% 25 ## 50%的請求在25ms內返回 66% 26 ## 60%的請求在26ms內返回 75% 26 80% 26 90% 27 95% 31 98% 38 99% 43 100% 48 (longest request)