web版本 開源壓測工具 免費壓測工具

2021-10-13 03:24:58 字數 4106 閱讀 3541

很多的web應用在搭建伺服器完成後,為了讓搭建的服務能夠滿足使用者的訪問需求,通常需要測試自己應用的併發連線能力。需要使用一些壓測工具,本文介紹一些免費的開源的壓測工具,可以用於簡單的壓力測試(實驗均在linux系統下)。

1.ab工具

ab的全稱是apache bench,是apache自帶的網路壓力測試工具,ab命令對發出負載的計算機要求很低,不會占用很高cpu和記憶體,但也能給目標伺服器產生巨大的負載,能實現基礎的壓力測試。在進行壓力測試時,最好與伺服器使用交換機直連,以獲取最大的網路吞吐量。(雲伺服器可以選擇內網相連)

ab的安裝很簡單,安裝apache會自動安裝,如果要單獨安裝ab,可以使用yum安裝:

基本概念:

• 吞吐率(requests per second)

概念:伺服器併發處理能力的量化描述,單位是reqs/s,指的是某個併發使用者數下單位時間內處理的請求數。某個併發使用者數下單位時間內能處理的最大請求數,稱之為最大吞吐率。

計算公式:總請求數 / 處理完成這些請求數所花費的時間,即

request per second = complete requests / time taken for tests

• 併發連線數(the number of concurrent connections)

概念:某個時刻伺服器所接受的請求數目,簡單的講,就是乙個會話。

• 併發使用者數(the number of concurrent users,concurrency level)

概念:要注意區分這個概念和併發連線數之間的區別,乙個使用者可能同時會產生多個會話,也即連線數。

• 使用者平均請求等待時間(time per request)

time per request = time taken for tests /( complete requests / concurrency level)

• 伺服器平均請求等待時間(time per request: across all concurrent requests)

計算公式:處理完成所有請求數所花費的時間 / 總請求數,即

time taken for / testscomplete requests

可以看到,它是吞吐率的倒數。

ab命令選項 可以使用 ab -–help檢視全部的命令引數

ab命令最基本的引數是-n和-c:

-n 執行的請求數量

-c 併發請求個數

其他引數:

-t 測試所進行的最大秒數

-p 包含了需要post的資料的檔案

-t post資料所使用的content-type頭資訊

-k 啟用http keepalive功能,即在乙個http會話中執行多個請求,預設時,不啟用keepalive功能

ab –n 100 –c 10 測試的自己的**(100請求,10併發)

網路上消耗的時間的分解:

connection times (ms)

min mean[+/-sd] median max

connect: 2 43 197.3 2 1008

processing: 11 1174 1506.4 858 13033

waiting: 10 551 1381.4 220 13026

total: 12 1218 1489.6 1017 13039

每個請求處理時間的分布情況:

50%的處理時間在1017ms內,66%的處理時間在1441ms內...,重要的是看90%的處理時間。

percentage of the requests served within a certain time (ms)

50% 1017

66% 1441

75% 1655

80% 1862

90% 2476

95% 3167

98% 3562

99% 13039

100% 13039 (longest request)

在實際測試的時候可以酌情增加連線數和使用者數,以得到最接近準確的併發數值。

webbench

webbench是知名的**壓力測試工具,能測試處在相同硬體上,不同服務的效能以及不同硬體上同乙個服務的執行狀況。

webbench的標準測試可以向我們展示伺服器的兩項內容:每秒鐘相應請求數和每秒鐘傳輸資料量。

webbench最多可以模擬3萬個併發連線去測試**的負載能力

wget

tar -zvxf webbench-1.5.tar.gz

編譯安裝

檢視命令引數提示

測試webbench -c 50 -t 10

模擬五十個使用者訪問自己的**10秒,請求的url 後端如果報錯,就加乙個「/」。

http_load是一款基於linux平台的web伺服器效能測試工具,用於測試web伺服器的吞吐量與負載,web頁面的效能。

檢視幫助

使用建立urls檔案,檔案裡面寫要測試的url

vim urls

使用示例

-parallel 簡寫-p :含義是併發的使用者程序數。

-fetches 簡寫-f :含義是總計的訪問次數

-rate 簡寫-p :含義是每秒的訪問頻率

-seconds簡寫-s :含義是總計的訪問時間

執行結果:

說明執行了乙個持續時間10秒的測試,每秒的頻率為5。

結果分析:

1.49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds

說明在上面的測試中執行了49個請求,最大的併發程序數是2,總計傳輸的資料是289884bytes,執行的時間是10.0148秒

2.5916 mean bytes/connection

說明每一連線平均傳輸的資料量289884/49=5916

3.4.89274 fetches/sec, 28945.5 bytes/sec

說明每秒的響應請求為4.89274,每秒傳遞的資料為28945.5 bytes/sec

4.msecs/connect: 28.8932 mean, 44.243 max, 24.488 min

說明每連線的平均響應時間是28.8932 msecs,最大的響應時間44.243 msecs,最小的響應時間24.488 msecs

說明開啟響應頁面的型別,如果403的型別過多,那可能要注意是否系統遇到了瓶頸。

特殊說明:這裡,我們一般會關注到的指標是fetches/sec、msecs/connect

他們分別對應的常用效能指標引數

qpt-每秒響應使用者數和response time,每連線響應使用者時間。

測試的結果主要也是看這兩個值。當然僅有這兩個指標並不能完成對效能的分析,我們還需要對伺服器的cpu、men進行分析,才能得出結論

以上介紹了三種開源免費的壓測工具,使用都比較簡單,類似的工具還有很多,如siege等,不再一一累述。

如果需要專業的模擬多使用者的併發訪問的壓力測試,可以使用付費產品,如阿里雲pts壓力測試。

web壓測工具http load

1.什麼是http load http load是一款基於linux平台的web伺服器效能測試工具,用於測試web伺服器的吞吐量與負載,web頁面的效能。進入目錄 執行make make install命令 檢視安裝結果,輸入http load不報錯即成功 3.http load的使用 1 建立檔案...

壓測工具(二)

安裝yum y install httpd tools基本用法使用方法 ab 可選的引數選項 需要進行壓測的url n 在測試會話中所執行的請求個數。預設時,僅執行乙個請求 c 一次產生的請求個數 t 測試所進行的最大秒數。其最大隱含值時 n 50000,它可以使對伺服器的測試限制在乙個固定的總時間...

ab壓測工具

root localhost yum install y httpd tools 安裝ab工具 root localhost ab c 10 n 1000 指定併發請求數為10,總請求數為1000,對進行壓力測試 this is apachebench,version 2.3 revision 14...