1. 程式人生 > >【Apache】Apache ab壓力測試工具Window下載和用法詳解

【Apache】Apache ab壓力測試工具Window下載和用法詳解

enc ons 所有 The 產生 ima 腳本 數據 等待

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下載和用法詳解