apache AB引數說明

2021-07-08 17:16:11 字數 3286 閱讀 6011

三種最常見的請求型別是:get,post 和 head

get:獲取乙個文件   post:傳送資料至伺服器

ab -n 50000 -c 10 "url"        併發數為10,總請求次數為50000

apachebench結果檢視:

說明:對於併發請求,cpu實際上並不是同時處理的,而是按照每個請求獲得的時間片逐個輪轉處理的,所以基本上第乙個time per request時間約等於第二個time per request時間乘以併發請求數。

apachebench引數說明

格式:ab [options] [http://]hostname[:port]/path

引數說明:

-n requests number of requests to perform

//在測試會話中所執行的請求個數(本次測試總共要訪問頁面的次數)。預設時,僅執行乙個請求。

-c concurrency number of multiple requests to make

//一次產生的請求個數(併發數)。預設是一次乙個。

-t timelimit seconds to max. wait for responses

//測試所進行的最大秒數。其內部隱含值是-n 50000。它可以使對伺服器的測試限制在乙個固定的總時間以內。預設時,沒有時間限制。

-p postfile file containing data to post

//包含了需要post的資料的檔案,檔案格式如「p1=1&p2=2」.使用方法是 -p 111.txt 。 (配合-t)

-v verbosity how much troubleshooting info to print

//設定顯示資訊的詳細程度 – 4或更大值會顯示頭資訊, 3或更大值可以顯示響應**(404, 200等), 2或更大值可以顯示警告和其他資訊。 -v 顯示版本號並退出。

-w print out results in html 

tables

//以html表的格式輸出結果。預設時,它是白色背景的兩列寬度的一張表。

-i use head instead of get

// 執行head請求,而不是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 add cookie, eg. -c 「c1=1234,c2=2,c3=3″ (repeatable)

//-c cookie-name=value 對請求附加乙個cookie:行。 其典型形式是name=value的乙個引數對。此引數可以重複,用逗號分割。

-c 」 c1=1234,c2=2,c3=3, jsessionid=ff056cd16da9d71cb131c1d56f0319f8″ 。

-h attribute add arbitrary header line, eg. 『accept-encoding: gzip』 inserted after all normal header lines. (repeatable)

-a attribute add basic www authentication, the attributes

are a colon separated username and password.

-p attribute add basic proxy authentication, the attributes

are a colon separated username and password.

//-p proxy-auth-username:password 對乙個中轉**提供basic認證信任。使用者名稱和密碼由乙個:隔開,並以base64編碼形式傳送。無論伺服器是否需要(即, 是否傳送了401認證需求**),此字串都會被傳送。

//-attributes 設定屬性的字串. 缺陷程式中有各種靜態宣告的固定長度的緩衝區。另外,對命令列引數、伺服器的響應頭和其他外部輸入的解析也很簡單,這可能會有不良後果。它沒有完整地實現 http/1.x; 僅接受某些』預想』的響應格式。 strstr(3)的頻繁使用可能會帶來效能問題,即你可能是在測試ab而不是伺服器的效能。

-n :總共的請求執行數,預設是1;-c: 併發數,預設是1;

-t:測試所進行的總時間,秒為單位,預設50000s

-p:post時的資料檔案

-w: 以html表的格式輸出結果

引數很多,一般我們用-c和-n引數就可以了。

例如: ab -c 100 -n 1000 http://localhost:8024/smarty/user.php

-n 1000 表示總請求數為1000

-c 100 表示併發使用者數為100

http://localhost:8024/smarty/user.php   表示這些請求的目標url

ab的命令列一次只能支援一次測試。相要批量執行不同的測試方式,並自動對指標進行分析,那麼單靠手工執行ab,一定會累到像狗一樣趴下。好了,問題來了,批量模式怎麼實現,那就要靠我們強大的shell了。

總結:在遠端對web伺服器進行壓力測試,往往效果不理想(因為網路延時過大),建議使用內網的另一台或者多台伺服器通過內網進行測試,這樣得出的資料,準確度會高很多。如果只有單獨的一台伺服器,可以直接本地測試,比遠端測試效果要準確。

Cache control引數說明

header中的cache control引數說明 php編碼 網頁的快取是由http訊息頭中的 cache control 來控制的,常見的取值有private no cache max age must revalidate等,預設為private。其作用根據不同的重新瀏覽方式分為以下幾種情況 ...

nmap引數說明

目標規範 可以通過主機名,ip位址,網路等 例 scanme.nmap.org,dream4.org 24,192.168.0.1 10.0.0 255.1 254 il 從指定檔案獲取主機或網路 ir 隨機選擇主機,0 不限制掃瞄主機數 exclude 排除指定主機或網路 excludefile ...

toString引數說明

格式化數值 有時,我們可能需要將數值以一定的格式來呈現,就需要對數值進行格式化。我們使用格式字串指定格式。格式字串採用以下形式 axx,其中 a 為格式說明符,指定格式化型別,xx 為精度說明符,控制格式化輸出的有效位數或小數字數。格式說明符 說明 示例 輸出 c 貨幣 2.5.tostring c...