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,它可以使對伺服器的測試限制在乙個固定的總時間...