AB壓力測試工具

原文:https://www.fanhaobai.com/2016/02/ab.html

ab(ApacheBench)是一款小巧且使用簡單的壓測工具,可以提供站點基本的性能指標。ab 一般作為 Apache 服務器的子應用程序出現,而這里將介紹 Linux 下獨立安裝 ab 的方法以及它的簡單使用。

獨立安裝

CentOS 下獨立安裝 ab 的命令:

$ yum install httpd-tools

安裝后,查看 ab 版本:

$ ab -V
This is ApacheBench, Version 2.3

基本使用

基本命令

ab 使用命令格式為:

ab [options][http[s]://]hostname[:port]/path

通過ab -h命令查看 ab 命令參數,這里只列舉 常用參數。

-n   # 在測試會話中所執(zhí)行的請求個數
-c   # 一次產生的請求個數(并發(fā)數)
-p   # 包含需要POST數據的文件,文件格式:“p1=1&p2=2”
-T   # POST數據所使用的Content-type頭信息
-C   # 對請求附加一個Cookie頭信息,格式為:name=value,多組值用 “,” 號分隔
-H   # 對請求附加一個Header頭信息,格式例如:Accept-Encoding: gzip

對我博客主站點www.fanhaobai.com進行 100 并發(fā)壓測,命令如下:

$ ab -c 100 -n 100 https://www.fanhaobai.com/

測試結果

通過上述對www.fanhaobai.com的站點壓測,得到如下測試結果:

Benchmarking www.fanhaobai.com (be patient).....done
# web服務器名稱
Server Software:        nginx
# host
Server Hostname:        www.fanhaobai.com
# 監(jiān)聽端口,443(HTTPS)
Server Port:            443
SSL/TLS Protocol:       TLSv1/SSLv3,ECDHE-RSA-AES256-GCM-SHA384,4096,256

# 測試的URI
Document Path:          /
# 響應正文長度
Document Length:        37580 bytes

# 測試的并發(fā)數
Concurrency Level:      100
# 整個測試持續(xù)的時間
Time taken for tests:   41.491 seconds
# 完成的請求數量
Complete requests:      100
# 失敗的請求數量
Failed requests:        0
Write errors:           0
# 整個過程中的網絡傳輸量
Total transferred:      3792684 bytes
# 整個過程中的HTML內容傳輸量
HTML transferred:       3774201 bytes
# 吞吐率,最重要的指標之一
Requests per second:    2.41 [#/sec] (mean)
# 用戶平均請求等待時間,最重要的指標之二
Time per request:       41490.657 [ms] (mean)
# 服務器平均請求處理時間,最重要的指標之三
Time per request:       414.907 [ms] (mean, across all concurrent requests)
# 平均每秒網絡上的流量
Transfer rate:          89.27 [Kbytes/sec] received

# 網絡上消耗的時間的分解
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       60 1836 3096.3   1373   29355
Processing:   142 19725 7906.1  19955   38415
Waiting:       89 14829 8400.5  12547   38360
Total:        202 21561 7863.1  21334   41294

# 整個壓測中所有請求的響應情況。50% 用戶的響應時間小于 21334 毫秒,75% 用戶的響應時間小于26106 毫秒,最長響應時間小于 41294 毫秒。
Percentage of the requests served within a certain time (ms)
  50%  21334
  66%  25099
  75%  26106
  80%  26491
  90%  30877
  95%  36737
  98%  41278
  99%  41294
 100%  41294 (longest request)

整理一下幾個 比較重要 的測試 指標

  1. Requests per second —— 吞吐率
  2. Time per request —— 用戶平均請求等待時間
  3. Time per request —— 服務器平均請求處理時間

總結

ab 只是一款小巧使用簡單的壓測工具,沒有圖形化結果且不能監(jiān)控,只供臨時測試使用,商業(yè)化應用軟件必須使用專業(yè)壓測工具 LoadRunner

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1 我們可以模擬100個并發(fā)用戶,對一個頁面發(fā)送1000個請求 ./ab -n1000 -c100 https:/...
    米開朗基樂閱讀 1,283評論 0 0
  • 1、附帶cookie 先構建個“已登錄”的會話,把標識這個會話的Cookie值(Session ID)記下來。如果...
    zshanjun閱讀 549評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現,斷路器,智...
    卡卡羅2017閱讀 136,551評論 19 139
  • 寫在前面 在學習ab工具之前,我們需了解幾個關于壓力測試的概念 吞吐率(Requests per second)概...
    橙子醬閱讀 241,735評論 13 190
  • 01 長長思念長相依, 長長漫夜長追思; 長長淚眼長流泣, 長長白發(fā)長嘆息! 長長歲月長廝守, 長長情愫長相知; ...
    發(fā)呆的老漁民閱讀 293評論 5 6

友情鏈接更多精彩內容