【Apache】Apache ab壓力測試工具Window下載和用法詳解
ab是apache自帶的網站壓力測試工具。
使用起來非常的簡單和方便。
不僅僅是可以apache服務器進行網站訪問壓力測試,還可以對其他類型的服務器進行壓力測試。
比如nginx,tomcat,IIS等
首先當然是下載安裝了。
在這裏只講window下在下載安裝
官方下載地址:,(https://www.apachehaus.com/cgi-bin/download.plx)
下載完成後解壓
修改解壓根目錄下的conf/httpd.conf文件的端口配置,默認是80端口,應該是被占用了,無法安裝,可以自行修改為其他,我在這裏修改為8088端口
先打開Apache服務器的安裝路徑,在bin目錄中有一個ab.exe的可執行程序,就是我們要介紹的壓力測試工具。
在Windows系統的命令行下,進入ab.exe程序所在目錄,執行ab.exe程序。註意直接雙擊無法正確運
行。
執行ab命令成功後,可以看到如圖提示。該幫助很清楚詳細的介紹了ab的用法以及各個參數的含義。
ab 的用法是:ab [options] [http://]hostname[:port]/path
例如:ab -n 1000 -c 1000 http://www.nnzhp.cn/
上例表示總共訪問http://www.nnzhp.cn/這個腳本100次,1000並發同時執行。
ab常用參數的介紹:
-n :總共的請求執行數,缺省是1;
-c: 並發數,缺省是1;
-t:測試所進行的總時間,秒為單位,缺省50000s
-p:POST時的數據文件
-w: 以HTML表的格式輸出結果
ab -n 10 -c 10 http://www.nnzhp.cn/ D:\miss.html
如果不想安裝apache但是又想使用ab命令的話,我們可以直接安裝apache的工具包httpd-tools。如下:
yum -y install httpd-tools
查看ab是否安裝成功,可以切換到上述目錄下,使用ab –V命令進行檢測。如下:
ab -V
ab性能指標
在進行性能測試過程中有幾個指標比較重要:
1、吞吐率(Requests per second)
服務器並發處理能力的量化描述,單位是reqs/s,指的是在某個並發用戶數下單位時間內處理的請求數。某個並發用戶數下單位時間內能處理的最大請求數,稱之為最大吞吐率。
記住:吞吐率是基於並發用戶數的。這句話代表了兩個含義:
a、吞吐率和並發用戶數相關
b、不同的並發用戶數下,吞吐率一般是不同的
計算公式:總請求數/處理完成這些請求數所花費的時間,即
Request per second=Complete requests/Time taken for tests
必須要說明的是,這個數值表示當前機器的整體性能,值越大越好。
2、並發連接數(The number of concurrent connections)
並發連接數指的是某個時刻服務器所接受的請求數目,簡單的講,就是一個會話。
3、並發用戶數(Concurrency Level)
要註意區分這個概念和並發連接數之間的區別,一個用戶可能同時會產生多個會話,也即連接數。在HTTP/1.1下,IE7支持兩個並發連接,IE8支持6個並發連接,FireFox3支持4個並發連接,所以相應的,我們的並發用戶數就得除以這個基數。
4、用戶平均請求等待時間(Time per request)
計算公式:處理完成所有請求數所花費的時間/(總請求數/並發用戶數),即:
Time per request=Time taken for tests/(Complete requests/Concurrency Level)
5、服務器平均請求等待時間(Time per request:across all concurrent requests)
計算公式:處理完成所有請求數所花費的時間/總請求數,即:
Time taken for/testsComplete requests
可以看到,它是吞吐率的倒數。
同時,它也等於用戶平均請求等待時間/並發用戶數,即
Time per request/Concurrency Level
D:\apacheab\Apache24\bin>ab -n 100 -c 10 http://www.baidu.com/s
This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking www.baidu.com (be patient).....done
Server Software: BWS/1.1
##服務器軟件和版本
Server Hostname: www.baidu.com
##請求的地址/域名
Server Port: 80
##端口
Document Path: /s
##請求的路徑
Document Length: 112435 bytes
##頁面數據/返回的數據量
Concurrency Level: 10
##並發數
Time taken for tests: 4.764 seconds
##共使用了多少時間
Complete requests: 100
##請求數
Failed requests: 99
##失敗請求 百度為什麽失敗這麽多,應該是百度做了防範
(Connect: 0, Receive: 0, Length: 99, Exceptions: 0)
Total transferred: 11342771 bytes
##總共傳輸字節數,包含http的頭信息等
HTML transferred: 11247622 bytes
##html字節數,實際的頁面傳遞字節數
Requests per second: 20.99 [#/sec] (mean)
##每秒多少請求,這個是非常重要的參數數值,服務器的吞吐量
Time per request: 476.427 [ms] (mean)
##用戶平均請求等待時間
Time per request: 47.643 [ms] (mean, across all concurrent requests)
##服務器平均處理時間,也就是服務器吞吐量的倒數
Transfer rate: 2325.00 [Kbytes/sec] received
##每秒獲取的數據長度
Connection Times (ms)
min mean[+/-sd] median max
Connect: 22 41 12.4 39 82
##連接的最小時間,平均值,中值,最大值
Processing: 113 386 211.1 330 1246
##處理時間
Waiting: 25 80 43.9 73 266
##等待時間
Total: 152 427 210.1 373 1283
##合計時間
Percentage of the requests served within a certain time (ms)
50% 373
## 50%的請求在373ms內返回
66% 400
## 60%的請求在400ms內返回
75% 426
80% 465
90% 761
95% 930
98% 1192
99% 1283
100% 1283 (longest request)
【Apache】Apache ab壓力測試工具Window下載和用法詳解