1. 程式人生 > >linux ab 下的 壓力測試

linux ab 下的 壓力測試

分類: LINUX

1、命令格式 ab命令放在apache目錄bin目錄下面,使用方法如下 ./ab -n 3000 -c 3000 http://www.test.com/ 其中-n代表每次併發量,-c代表總共傳送的數量 2、測試結果分析 [[email protected] bin]# ./ab -n 3000 -c 3000 http://www.test.com/   This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking www.twioo.com (be patient) Completed 300 requests Completed 600 requests Completed 900 requests Completed 1200 requests Completed 1500 requests Completed 1800 requests Completed 2100 requests Completed 2400 requests Completed 2700 requests
Completed 3000 requests Finished 3000 requests Server Software:        nginx/0.7.65 Server Hostname:        www.test.com Server Port:            80 Document Path:          /  ###請求的資源 Document Length:        50679 bytes  ###文件返回的長度,不包括相應頭 Concurrency Level:      3000   ###併發個數 Time taken for tests:   30.449 seconds   ###總請求時間
Complete requests:      3000     ###總請求數 Failed requests:        0     ###失敗的請求數 Write errors:           0 Total transferred:      152745000 bytes HTML transferred:       152037000 bytes Requests per second:    98.52 [#/sec] (mean)      ###平均每秒的請求數 Time per request:       30449.217 [ms] (mean)     ###平均每個請求消耗的時間 Time per request:       10.150 [ms] (mean, across all concurrent requests)  ###上面的請求除以併發數 Transfer rate:          4898.81 [Kbytes/sec] received   ###傳輸速率 Connection Times (ms)               min  mean[+/-sd] median   max Connect:        2   54  27.1     55      98 Processing:    51 8452 5196.8   7748   30361 Waiting:       50 6539 5432.8   6451   30064 Total:         54 8506 5210.5   7778   30436 Percentage of the requests served within a certain time (ms)   50%   7778   ###50%的請求都在7778Ms內完成   66%  11059   75%  11888   80%  12207   90%  13806   95%  18520   98%  24232   99%  24559  100%  30436 (longest request) 3、如果用ab訪問的是他本機上的web伺服器,使用127.0.0.1或者是web伺服器上的網絡卡IP地址,這個是不走網路裝置的,可以忽略網路消耗 4、ab使用的一些問題 a、ab命令在一般系統上面做測試時候,一般併發不能超過1024個,其實是因為因為系統限制每個程序開啟的最大檔案數為1024,可以用ulimit -a來檢視 open files                      (-n) 65536  ##這個我係統已經修改過 b、-n 可以指定最大請求數,但是不能超過50000個 c、-v n   當n>=2 時,可以顯示傳送的http請求頭,和響應的http頭及內容,壓力測試時不要這麼做 [[email protected] bin]# ./ab -n 1 -c 1 -v 2  http://www.test.com/ This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking www.test.com (be patient)...INFO: POST header ==  --- GET / HTTP/1.0 Host: www.test.com User-Agent: ApacheBench/2.3 Accept: */* --- LOG: header received: HTTP/1.1 200 OK Server: nginx/0.7.65 Date: Thu, 01 Dec 2011 13:08:16 GMT Content-Type: text/html Connection: close Vary: Accept-Encoding Content-Length: 50515 Last-Modified: Thu, 01 Dec 2011 13:08:04 GMT Accept-Ranges: bytes <!DOCTYPE html> <html> <head>         <meta charset="utf-8" />         <title>微博,財經微博,理財微博社群-專業投資理財微博社群-推哦網</title>         <meta http-equiv="x-ua-compatible" content="ie=7" />         <meta name="keywords" content="股票證券分析網,微博網站,個人理財網站,財經微博,投資理財論壇,理財微博網站"/>         <meta name="description" content="推哦網是一個開放的,基於使用者關係的投資理財微博網站,我們採用流行的微博模式,讓資訊和分享更快速更高效的傳播,致力於打造一個簡單,分享,交流,創造,共贏的金融環境"/>         <link rel="stylesheet" type="text/css" href="http://www.test.com/css/global.css" media="screen" />         <link rel="stylesheet" type="text/css" href="http://www.test.com/css/base.css" media="screen"/>         <link rel="stylesheet" type="text/css" href="http://www.test.com/css/index.css" media="screen"/>         <link rel="stylesheet" type="text/css" href="http://www.test.com/css/skin/vista/ymPrompt.css" />         <script src="http://www.test.com/include/javascript/ymPrompt.js" type="text/javascript"></script>         <script src="http://www.test.com/include/javascript/miniblog.js" type="text/javascript"></script>         <sc ..done Server Software:        nginx/0.7.65 Server Hostname:        www.test.com Server Port:            80 Document Path:          / Document Length:        50515 bytes Concurrency Level:      1 Time taken for tests:   0.006 seconds Complete requests:      1 Failed requests:        0 Write errors:           0 Total transferred:      50751 bytes HTML transferred:       50515 bytes Requests per second:    176.27 [#/sec] (mean) Time per request:       5.673 [ms] (mean) Time per request:       5.673 [ms] (mean, across all concurrent requests) Transfer rate:          8736.39 [Kbytes/sec] received Connection Times (ms)               min  mean[+/-sd] median   max Connect:        0    0   0.0      0       0 Processing:     5    5   0.0      5       5 Waiting:        1    1   0.0      1       1 Total:          6    6   0.0      6       6 在做壓力測試的時候,一般情況下壓力測試客戶端接收到的資料量一定會遠大於傳送出去的資料量