ab測試工具 伺服器壓力測試詳解

2021-09-25 18:07:40 字數 2437 閱讀 4221

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...