在使用ab壓力測試工具之前,首先我們要了解幾個關於壓力測試的概念
吞吐率
概念:服務器並發處理能力的量化描述,單位是reqs/s,指的是某個並發用戶數下單位時間內處理的請求數。某個並發用戶數下單位時間內能處理的最大請求數,稱之為最大吞吐率。
計算公式:總請求數 / 處理完成這些請求數所花費的時間,即
Request per second = Complete requests / Time taken for tests
並發連接數
概念:某個時刻服務器所接受的請求數目,簡單的講,就是一個會話。
並發用戶數
概念:要注意區分這個概念和並發連接數之間的區別,一個用戶可能同時會產生多個會話,也即連接數。
用戶平均請求等待時間
計算公式:處理完成所有請求數所花費的時間/ (總請求數 / 並發用戶數),即
Time per request = Time taken for tests /( Complete requests / Concurrency Level)
服務器平均請求等待時間
計算公式:處理完成所有請求數所花費的時間 / 總請求數,即
Time taken for / testsComplete requests
可以看到,它是吞吐率的倒數。
同時,它也=用戶平均請求等待時間/並發用戶數,即
Time per request / Concurrency Level
ab工具簡介
ab 全稱為:apache bench
在官網上的解釋如下:
ab是Apache超文本傳輸協議(HTTP)的性能測試工具。其設計意圖是描繪當前所安裝的Apache的執行性能,主要是顯示你安裝的Apache每秒可以處理多少個請求。
其他網站解釋:
ab是apache自帶的壓力測試工具。ab非常實用,它不僅可以對apache服務器進行網站訪問壓力測試,也可以對或其它類型的服務器進行壓力測試。比如nginx、tomcat、IIS等。
使用ab壓力測試工具
注:
本次使用ab壓力測試工具在虛擬機上使用,若操作者pc沒有安裝虛擬機,參考https://blog.csdn.net/guan_xiao_nan/article/details/79427938?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164420419516780271593273%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164420419516780271593273&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-79427938.first_rank_v2_pc_rank_v29&utm_term=%E7%94%B5%E8%84%91%E5%AE%89%E8%A3%85vmware&spm=1018.2226.3001.4187 進行下載
虛擬機配置鏈接
https://blog.csdn.net/davidhzq/article/details/101494147?ops_request_misc=&request_id=&biz_id=102&utm_term=vmware%E8%BF%9B%E8%A1%8C%E9%85%8D%E7%BD%AE&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-101494147.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187
Mac安裝配置鏈接
https://juejin.cn/post/6910018134191636488#heading-8
注:
如果沒有鏡像可以找我要
以上就是安裝和配置,完成以后進行ab壓力測試的安裝
進入虛擬機系統 右鍵 找到 打開終端
輸入安裝指令 yum -y install httpd-tools
安裝成功效果圖如下

ab -v 查看ab版本

ab --help

壓力測試指令
ab -n1000 -c 10 壓力測試網址/ 結尾的/一定要加
ab -n1000 -c 10 http://www.fuqicloud.com/
這里用公司網站進行壓力測試 ,-n訪問1000次, -c並發10個(這里就相當於10個用戶)
測試效果如下


詳細解釋如下:
Server Software: BWS/1.1 #服務器軟件
Server Hostname: www.baidu.com #域名
Server Port: 80 #請求端口Document Path: / #文件路徑
Document Length: 343480 bytes #頁面字節數
Concurrency Level: 10 #請求的並發數
Time taken for tests: 110.401 seconds #總訪問時間
Complete requests: 1000 #請求成功數量
Failed requests: 981 #請求失敗數量
Total transferred: 344707298 bytes #請求總數據大小(包括header頭信息)
HTML transferred: 343519184 bytes #html頁面實際總字節數
Requests per second: 9.06 [#/sec] (mean) #每秒多少請求,這個是非常重要的參數數值,服務器的吞吐量
Time per request: 1104.006 [ms] (mean) #用戶平均請求等待時間
Time per request: 110.401 [ms] (mean, across all concurrent requests)
# 服務器平均處理時間,也就是服務器吞吐量的倒數
Transfer rate: 3049.15 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 37 103 90.9 77 1357
Processing: 243 992 930.7 705 8814
Waiting: 39 116 89.5 90 800
Total: 298 1094 922.1 807 8859
Percentage of the requests served within a certain time (ms)
50% 807 50%用戶請求在807ms內返回
66% 939 66%用戶請求在939ms內返回
75% 1049 75%用戶請求在1049ms內返回
80% 1180 80%用戶請求在1180ms內返回
90% 1834 90%用戶請求在1834ms內返回
95% 3014 95%用戶請求在3014ms內返回
98% 4269 98%用戶請求在4269ms內返回
99% 5448 99%用戶請求在5448ms內返回
100% 8859 (longest request)
