ab,即apache benchmark,只要我們安裝了apache,就能夠在apache的安裝目錄中找到它。它的居住位址是apache安裝目錄/bin/ab.exe
。現在,我們就來看看如何使用ab.exe來進行壓力測試。
在使用之前我們先來學習一下ab的用法。首先,我們輸入cmd開啟dos視窗,然後將更改當前工作目錄為:apache安裝目錄/bin/
。然後鍵入幫助命令ab -help
(或者ab /?
、ab -h
),我們就可以看到如下的用法介紹介面。
常用命令 : ab -n 1000 -c 10 127.0.0.1/index.php //使用絕對路徑! 1000次訪問併發量為 10
ab的用法介紹
通過上面的用法介紹可以得知,ab的使用方法就是輸入如下dos命令:
ab [可選的引數選項]需要進行壓力測試的url此外,我們再根據上面的用法介紹介面來詳細了解每個引數選項的作用。-n
即requests,用於指定壓力測試總共的執行次數。
-c即concurrency,用於指定
-t即timelimit,等待響應的最大時間(單位:秒)。
-b即windowsize,tcp傳送/接收的緩衝大小(單位:位元組)。
-p即postfile,傳送post請求時需要上傳的檔案,此外還必須設定-t
引數。
-u即putfile,傳送put請求時需要上傳的檔案,此外還必須設定-t
引數。
-t即content-type,用於設定content-type請求頭資訊,例如:text/plain
。
-v即verbosity,指定列印幫助資訊的冗餘級別。
-w以html**形式列印結果。
-i使用head請求代替get請求。
-x插入字串作為table標籤的屬性。
-y插入字串作為tr標籤的屬性。
-z插入字串作為td標籤的屬性。
-c新增cookie資訊,例如:"apache=1234"(可以重複該引數選項以新增多個)。
-h新增任意的請求頭,例如:"accept-encoding: gzip",請求頭將會新增在現有的多個請求頭之後(可以重複該引數選項以新增多個)。
-a新增乙個基本的網路認證資訊,使用者名稱和密碼之間用英文冒號隔開。
-p新增乙個基本的**認證資訊,使用者名稱和密碼之間用英文冒號隔開。
-x指定使用的
-v列印版本號並退出。
-k使用http的keepalive特性。
-k使用http的keepalive特性。
-d不顯示百分比。
-s不顯示預估和警告資訊。
-g輸出結果資訊到gnuplot格式的檔案中。
-e輸出結果資訊到csv格式的檔案中。
-r指定接收到錯誤資訊時不退出程式。
-h顯示用法資訊,其實就是ab -help
。
post引數請求方式
postfile.txt 存放json格式請求資料,放在本地,f 盤下
f:\apache2.2\bin>ab -n 1000 -c 100 localhost/index.phpthis is apachebench, version 2.3this is apachebench, version 2.3
licensed to the apache software foundation,
benchmarking localhost (be patient)
completed 100 requests
completed 200 requests
completed 300 requests
completed 400 requests
completed 500 requests
completed 600 requests
completed 700 requests
completed 800 requests
completed 900 requests
completed 1000 requests
finished 1000 requests
server software: apache/2.2.25 (伺服器軟體名稱及版本資訊)
server hostname: localhost (伺服器主機名)
server port: 80 (伺服器端口)
licensed to the apache software foundation,
benchmarking localhost (be patient)
test aborted after 10 failures
apr_socket_connect(): 由於目標計算機積極拒絕,無法連線。 (730061)
注意:在上面的壓力測試中,apache使用的是預設配置,並沒有經過任何優化措施處理。實際上,apache在經過配置優化後,只要伺服器硬體夠用,apache伺服器是能夠撐起1000的併發量的。
測試 redis 的併發
<?php$redis = new
redis();
$redis->connect('127.0.0.1', 6379);
$time = date("ymd h:i:s");
$redis->rpush('list1', $time
);
echo "佇列總長度:".$redis->llen('list1');
echo "
";
/*while (true) else }*/
apache ab併發負載壓力測試
apache的ab命令模擬多執行緒併發請求,測試伺服器負載壓力,也可以測試nginx lighthttp iis等其它web伺服器的壓力。ab命令對發出負載的計算機要求很低,既不會占用很多cpu,也不會占用太多的記憶體,但卻會給目標伺服器造成巨大的負載,因此是某些ddos攻擊之必備良藥,老少皆宜。自...
apache ab 併發負載壓力測試
效能測試工具目前最常見的有以下幾種 ab http load webbench siege web polygraph等。ab是apache自帶的壓力測試工具,通過模擬多執行緒併發請求,測試伺服器負載壓力。ab非常實用,它不僅可以對apache伺服器進行 訪問壓力測試,也可以對或其它型別的伺服器進行...
apache ab併發負載壓力測試
ab命令原理 apache的ab命令模擬多執行緒併發請求,測試伺服器負載壓力,也可以測試nginx lighthttp iis等其它web伺服器的壓力。ab命令對發出負載的計算機要求很低,既不會占用很多cpu,也不會占用太多的記憶體,但卻會給目標伺服器造成巨大的負載,因此是某些ddos攻擊之必備良藥...