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