ab是一種用於測試apache超文字傳輸協議(http)伺服器的工具。apache自帶ab工具,可以測試apache、iis、tomcat、nginx、web等伺服器
但是ab沒有jmeter、loadrunner那樣有各種場景設計、各種圖形報告和監控,只需乙個命令即可,有輸出描述
可以簡單的進行一些壓力測試
一、mac下自帶apache
檢視版本 apachectl -v
若是沒有的話,可以執行命令安裝:
sudo apt-get install apache2-utils
ab命令同時滿足http及https的請求
常用請求引數:-n請求次數,-c併發數
root@instance-lvzxy101:~# ab -c 10 -n 100
this is apachebench, version 2.3
licensed to the apache software foundation,
//apache版本資訊
//請求返回header型別,可能是nginx、apache、iis等
//請求ip或者網域名稱
server port: 443
//請求埠,當前請求為https所以埠為443,請求https埠80
ssl/tls protocol: tlsv1.2,ecdhe-rsa-aes128-gcm-sha256,2048,128
//https埠協議
//路徑
document length: 227 bytes
//第乙個成功返回的文件的位元組大小
concurrency level: 10
//併發數!!!
time taken for tests: 0.232 seconds
//從建立連線到最後接受完成總時間
complete requests: 100
//總請求數成功的
failed requests: 0
//失敗的
total transferred: 89300 bytes
//從伺服器接收的位元組總數
html transferred: 22700 bytes
//html接收位元組數
requests per second: 430.62 [#/sec] (mean)
————每秒請求數(總請求數/總時間)
time per request: 23.222 [ms] (mean)
————使用者平均請求等待時間=concurrency * timetaken * 1000 / done
參考jmeter、lr中的平均響應時間
time per request: 2.322 [ms] (mean, across all concurrent requests)
————伺服器處理每個請求平均響應時間=timetaken * 1000 / done
transfer rate: 375.53 [kbytes/sec] received
connection times (ms)
min mean[+/-sd] median max
connect: 9 12 6.9 12 79
processing: 3 5 0.6 5 7
waiting: 3 5 0.6 5 6
total: 13 17 6.9 17 82
//網路連線情況
percentage of the requests served within a certain time (ms)
50% 17 ## 50%的請求在17ms內返回
66% 18 ## 66%的請求在18ms內返回
75% 18
80% 18
90% 19
95% 19
98% 20
99% 82
100% 82 (longest request)
//整體響應時間的分布比
伺服器壓力測試工具ab
在學習ab工具之前,我們需了解幾個關於壓力測試的概念 吞吐率 requests per second 概念 伺服器併發處理能力的量化描述,單位是reqs s,指的是某個併發使用者數下單位時間內處理的請求數。某個併發使用者數下單位時間內能處理的最大請求數,稱之為最大吞吐率。計算公式 總請求數 處理完成...
ab壓力測試工具詳解
yum install httpd toolsab n 2000 c 2 你的url n 總的請求數 c 併發數 k 是否開啟長連線 time taken for tests 髮費的總時間 requests per second 每秒請求數 總請求數除總時間 上面的time per request ...
ab壓力測試工具
即ab的主要邏輯包含在test方法中。test方法首先進行了一些全域性的初始化工作。其中,最重要的乙個資料結構是陣列struct connection con c 代表同時存在的c個客戶端連線。struct connection的結構如下 struct connection start connec...