web壓測工具http load

2022-08-26 21:39:22 字數 3662 閱讀 4670

1.什麼是http_load

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

進入目錄

執行make & make install命令 

檢視安裝結果,輸入http_load不報錯即成功 

3.http_load的使用

1)建立檔案:新建乙個.txt檔案,用來儲存目標url(每個url佔一行) 

vi urls

寫入要測的伺服器網域名稱或ip位址

比如urls裡是 亦或是192.168.0.1這一類的都可以測

2)使用示例

輸入命令 http_load -parallel 5 -seconds 10 youname.txt ---------------------------./http_load -rate 5 -seconds 10 urls

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

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

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

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

彙總使用方法

圖中所示的url.txt內容是若干url鏈結,每行乙個,比如:

詳細說明一下使用格式:

選項與引數:

-fetches:總計要訪問url的次數,無論成功失敗都記為一次,到達數量後程式退出。

-rate:每秒訪問的次數(即訪問頻率),控制效能測試的速度。

-seconds:工具執行的時間,到達seconds設定的時間後程式退出。

-parallel:最大併發訪問的數目,控制效能測試的速度。

-verbose:使用該選項後,每60秒會在螢幕上列印一次當前測試的進度資訊。

-jitter:該選項必須與-rate同時使用,表示實際的訪問頻率會在rate設定的值上下隨機波動10%的幅度。

-checksum:由於要訪問某個url很多次,為了保證每次訪問時收到的伺服器回包內容都一樣,可以採用checksum檢查,不一致會在螢幕上輸出錯誤資訊。

-cipher:使用ssl層的時候會用到此引數(url是https開頭),使用特定的密碼集。

-timeout:設定超時時間,以秒為單位,預設為60秒。每超過一次則記為一次超時的連線

-proxy:設定web**,格式為-proxy host:port

-throttle:限流模式,限制每秒收到的資料量,單位bytes/sec。該模式下預設限制為3360bytes/sec。

-sip:指定乙個source ip檔案,該檔案每一行都是ip+port的形式。

需要特別說明的是,-parallel引數和-rate引數中必須有乙個,用於指定發請求包的方式;-fetches和-seconds兩個引數必須有乙個,用於指定程式的終止條件。

執行結果:

說明執行了乙個持續時間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進行分析,才能得出結論

4.常見錯誤

1)byte count wrong

http_load在處理時會去關注每次訪問同乙個url返回結果(即位元組數)是否一致,若不一致就會丟擲byte count wrong

2)too many open files

系統限制的open files太小,ulimit -n 修改open files值即可

3)無法傳送大請求 (請求長度》600個字元)

預設接受請求的buf大小 http_load.c

4)cannot assign requested address

客戶端頻繁的連伺服器,由於每次連線都在很短的時間內結束,導致很多的time_wait,以至於用光了可用的埠號,所以新的連線沒辦法繫結埠,所以要改客戶端機器的配置,

在sysctl.conf裡加:

net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將time-wait sockets重新用於新的tcp連線,預設為0,表示關閉;

net.ipv4.tcp_timestamps=1 開啟對於tcp時間戳的支援,若該項設定為0,則下面一項設定不起作用

net.ipv4.tcp_tw_recycle=1 表示開啟tcp連線中time-wait sockets的快速**

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

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

http load壓測工具 常見的錯誤處理

byte count wrong http load在處理時會去關注每次訪問同乙個url返回結果 即位元組數 是否一致,若不一致就會丟擲byte count wrong 所以動態頁面可以忽略這個錯誤資訊。或者可以對 做修改http load.c 將 stderr,s byte count wrong...

壓測工具(二)

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