伺服器負載太大而影響程式效率是很常見的,apache伺服器自帶有乙個叫ab(apachebench)的工具,在bin目錄下。ab專門用於http server的benchmark testing,可以同時模擬多個併發請求,使用這個輕巧的工具我們可以對伺服器進行負載測試。
今天在公司也用它作一些測試,現在整理了下它的一些東西分享下。
首先我們要得到apache伺服器的目錄下bin的路徑,我電腦中的路徑是d:\wamp\bin\apache\apache2.2.21\bin,開啟cmd,轉到這個目錄下,在其中輸入:ab -n 10 -c 10 這條指令,這條指令的意思是:ab -n 全部請求數 -c 併發數 測試url。
以下是我執行的結果:
複製**
**如下:
d:\wamp\bin\apache\apache2.2.21\bin>ab -n 10 -c 10
this is apachebench, version 2.3 <$revision: 655654 $>
licensed to the apache software foundation,
benchmarking www.jb51.net (be patient)…..done
server software: microsoft-iis/6.0 //microsoft-iis伺服器版本6.0
server hostname: www.jb51.net //伺服器主機名
server port: 80 //伺服器端口
document path: / //測試的頁面文件
document length: 32639 bytes //文件大小
concurrency level: 10 //併發數
time taken for tests: 13.548 seconds //整個測試持續的時間
complete requests: 10 //完成的請求數量
failed requests: 0 //失敗的請求數量
write errors: 0
total transferred: 331070 bytes //整個場景中的網路傳輸量
html transferred: 326390 bytes //整個場景中的html內容傳輸量
requests per second: 0.74 [#/sec] (mean) //每秒事務數 ,後面括號中的 mean 表示這是乙個平均值
time per request: 13547.775 [ms] (mean) //平均事務響應時間 ,後面括號中的 mean 表示這是乙個平均值
time per request: 1354.777 [ms] (mean, across all concurrent requests) //每個請求實際執行時間的平均值
transfer rate: 23.86 [kbytes/sec] received //平均每秒網路上的流量,可以幫助排除是否存在網路流量過大導致響應時間延長的問題
connection times (ms) //網路上消耗的時間的分解
min mean[+/-sd] median max
connect: 1 2 0.8 2 3
processing: 2163 3981 3420.2 2957 13540
waiting: 1305 3204 3595.3 2096 13169
total: 2164 3983 3420.0 2959 13541
//以下是整個場景中所有請求的響應情況。在場景中每個請求都有乙個響應時間,其中50%的使用者響應時間小於2959毫秒,66% 的使用者響應時間小於3074毫秒,最大的響應時間小於13541 毫秒。由於對於併發請求,cpu實際上並不是同時處理的,而是按照每個請求獲得的時間片逐個輪轉處理的,所以基本上第乙個time per request時間約等於第二個time per request時間乘以併發請求數。
percentage of the requests served within a certain time (ms)
50% 2959
66% 3074
75% 3974
80% 4008
90% 13541
95% 13541
98% 13541
99% 13541
100% 13541 (longest request)
下面是ab的指令中引數的介紹:
複製**
**如下:
-n requests 全部請求數
-c concurrency 併發數
-t timelimit 最傳等待回應時間
-p postfile post資料檔案
-t content-type post content-type
-v verbosity how much troubleshooting info to print
-w print out results in html tables
-i use head instead of get
-x attributes string to insert as table attributes
-y attributes string to insert as tr attributes
-z attributes string to insert as td or th attributes
-c attribute 加入cookie, eg. 『apache=1234. (repeatable)
-h attribute 加入http頭, eg. 『accept-encoding: gzip'
inserted after all normal header lines. (repeatable)
-a attribute http驗證,分隔傳遞使用者名稱及密碼
-p attribute add basic proxy authentication, the attributes
are a colon separated username and password.
-x proxy:port **伺服器
複製**
**如下:
-v 檢視ab版本
開源效能測試工具 Apache ab 介紹
引子 按照原定計畫,今天開始研究 jmeter 一天的時間看完了大半的 user manual 發現原來只要沉住氣,學習效率還是蠻高的,而且大堆的英文文件也沒有那麼可怕 本來想順便把文件翻譯一下,不過後來想了想,看懂是一回事,全部翻譯出來又是另外一回事了,工作量太大,而且這也不是我一開始要研究 jm...
Web效能壓力測試工具之Apache AB 詳解
ps 效能壓力測試是效能調優過程中必不可少的一環。只有讓伺服器處在高壓情況下才能真正體現出各種設定所暴露的問題。apache中有個自帶的,名為ab的程式,可以對apache或其它型別的伺服器進行 訪問壓力測試。apachebench命令原理 ab命令會建立很多的併發訪問執行緒,模擬多個訪問者同時對某...
Apache ab 壓力併發測試工具
ab,即apache benchmark,只要我們安裝了apache,就能夠在apache的安裝目錄中找到它。它的居住位址是apache安裝目錄 bin ab.exe。現在,我們就來看看如何使用ab.exe來進行壓力測試。在使用之前我們先來學習一下ab的用法。首先,我們輸入cmd開啟dos視窗,然後...