window安装ab压力测试
ab是Apache HTTP server benchmarking tool的縮寫,可以用以測試HTTP請求的服務器性能,也是業界比較流行和簡單易用的一種壓力測試工具包
## 下載
下載地址:(https://www.apachehaus.com/cgi-bin/download.plx)
## 解壓
將解壓的bin目錄用命令行打開
## 測試
```
ab -n 100 -c 10 http://test_url
# -n 表示請求數,-c 表示并發數. -t 表示多少s內并發和請求
```
文檔在此:http://httpd.apache.org/docs/2.0/programs/ab.html
## 結果
```
C:\Users\Administrator\Downloads\httpd-2.4.33-o102o-x64-vc14-r2\Apache24\bin>ab -n 1000 -c 1000 http://192.168.3.162:888/***/tableauServlet
This is ApacheBench, Version 2.3 <$Revision: 1826891 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.3.162 (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:
Server Hostname: 192.168.37.162
Server Port: 8999
#請求url
Document Path: /***/tableauServlet
#頁面數據/返回的數據量
Document Length: 63 bytes
#并發數
Concurrency Level: 1000
#共使用了多少時間
Time taken for tests: 13.182 seconds
#完成請求數
Complete requests: 1000
#失敗請求
Failed requests: 0
#總共傳輸字節數,包含http的頭信息等
Total transferred: 287000 bytes
#html字節數,實際的頁面傳遞字節數
HTML transferred: 63000 bytes
#每秒多少請求,這個是非常重要的參數數值,服務器的吞吐量
Requests per second: 75.86 [#/sec] (mean)
#用戶平均請求等待時間
Time per request: 13181.754 [ms] (mean)
##服務器平均處理時間,也就是服務器吞吐量的倒數
Time per request: 13.182 [ms] (mean, across all concurrent requests)
#每秒獲取的數據長度
Transfer rate: 21.26 [Kbytes/sec] received
##連接的最小時間,平均值,中值,最大值
Connection Times (ms)
min mean[+/-sd] median max
Connect: 4 13 117.5 6 3005
##處理時間66
Processing: 84 7105 4444.4 7583 13086
##等待時間
Waiting: 22 7049 4464.0 7532 13059
##合計時間
Total: 91 7118 4442.9 7589 13092
Percentage of the requests served within a certain time (ms)
50% 7589
## 50%的請求在7589ms內返回
66% 9792
## 66%的請求在9792ms內返回
75% 11526
80% 11832
90% 12460
95% 12778
98% 12962
99% 13024
100% 13092 (longest request)
```
> 修改解壓根目錄下的conf/httpd.conf文件的端口配置,默認是80端口,應該是被占用了
## API壓測:
```
#params.txt文件里面的Json格式的UTF-8編碼
./ab -n 500 -c 100 -p 'params.txt' -T 'application/json;charset=utf-8' http://192.1url:/fsfa/tatement
```
## 語法
```
Usage: ab [options] [http[s]://]hostname[:port]/path
用法:ab [選項] 地址
選項:
Options are:
-n requests #執行的請求數,即一共發起多少請求。
-c concurrency #請求并發數。
-t timelimit #測試所進行的最大秒數。其內部隱含值是-n 50000,它可以使對服務器的測試限制在一個固定的總時間以內。默認時,沒有時間限制。
-s timeout #指定每個請求的超時時間,默認是30秒。
-b windowsize #指定tcp窗口的大小,單位是字節。
-B address #指定在發起連接時綁定的ip地址是什么。
-p postfile #指定要POST的文件,同時要設置-T參數。
-u putfile #指定要PUT的文件,同時要設置-T參數。
-T content-type #指定使用POST或PUT上傳文本時的文本類型,默認是'text/plain'。
-v verbosity #設置詳細模式等級。
-w #將結果輸出到html的表中。
-i #使用HEAD方式代替GET發起請求。
-y attributes #以表格方式輸出時,設置html表格tr屬性。
-z attributes #以表格方式輸出時,設置html表格th或td屬性。
-C attribute #添加cookie,比如'Apache=1234'。(可重復)
-H attribute #為請求追加一個額外的頭部,比如'Accept-Encoding: gzip'。(可重復)
-A attribute #對服務器提供BASIC認證信任。用戶名和密碼由一個:隔開,并以base64編碼形式發送。無論服務器是否需要(即,是否發送了401認證需求代碼),此字符串都會被發送。
-P attribute #對一個中轉代理提供BASIC認證信任。用戶名和密碼由一個:隔開,并以base64編碼形式發送。無論服務器是否需要(即, 是否發送了401認證需求代碼),此字符串都會被發送。
-X proxy:port #指定代理服務器的IP和端口。
-V #打印版本信息。
-k #啟用HTTP KeepAlive功能,即在一個HTTP會話中執行多個請求。默認時,不啟用KeepAlive功能。
-d #不顯示"percentage served within XX [ms] table"的消息(為以前的版本提供支持)。
-q #如果處理的請求數大于150,ab每處理大約10%或者100個請求時,會在stderr輸出一個進度計數。此-q標記可以抑制這些信息。
-g filename #把所有測試結果寫入一個'gnuplot'或者TSV(以Tab分隔的)文件。此文件可以方便地導入到Gnuplot,IDL,Mathematica,Igor甚至Excel中。其中的第一行為標題。
-e filename #產生一個以逗號分隔的(CSV)文件,其中包含了處理每個相應百分比的請求所需要(從1%到100%)的相應百分比的(以微妙為單位)時間。由于這種格式已經“二進制化”,所以比'gnuplot'格式更有用。
-r #當收到錯誤時不要退出。
-h #輸出幫助信息
-Z ciphersuite 指定SSL/TLS密碼套件
-f protocol 指定SSL/TLS協議(SSL3, TLS1, TLS1.1, TLS1.2 or ALL)
```
————————————————
版權聲明:本文為CSDN博主「牧羊人影視」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/tengxing007/java/article/details/80919798
總結
以上是生活随笔為你收集整理的window安装ab压力测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UCOS 杂项 笔记
- 下一篇: ORACLE关闭启动的诡异错误