頂部導航開始 -->

Linux命令-ab命令

ab全名是(ApacheBench)命令是Apache httpd的Web服務器自帶的壓力性能測試工具,它可以測試安裝Web服務器每秒種處理的HTTP請求。
ab對HTTP協議的支持較全面,有HEAD,GET,POST,PUT請求方式,以及自定義TCP收發緩沖的大小,自定義Request Header和cookie,支持KeepAlive特性,HTTPS協議和WWW-Authentication認證等。
AB只支持單個URL和并發請求/總請求數的測試模式。

centos安裝ab  yum install httpd-tools

準備之后我們就可以測試了  ab -kc 1000 -n 1000 http://localhost/ab.html

ab命令選項

-A:指定連接服務器的基本的認證憑據; 
-c:指定一次向服務器發出請求數; 
-C:添加cookie; 
-g:將測試結果輸出為“gnuolot”文件; 
-h:顯示幫助信息; 
-H:為請求追加一個額外的頭; 
-i:使用“head”請求方式; 
-k:激活HTTP中的“keepAlive”特性; 
-n:指定測試會話使用的請求數; 
-p:指定包含數據的文件; 
-q:不顯示進度百分比; 
-T:使用POST數據時,設置內容類型頭; 
-v:設置詳細模式等級; 
-w:以HTML表格方式打印結果; 
-x:以表格方式輸出時,設置表格的屬性; 
-X:使用指定的代理服務器發送請求; 
-y:以表格方式輸出時,設置表格屬性。 
 
[[email protected] ]# ab -n 2000 -c 1000 www.XXX.cn/index.html
-c:并發數
-n:總請求數

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.XXX.cn (be patient)
Completed 200 requests
Completed 400 requests
Completed 600 requests
Completed 800 requests
Completed 1000 requests
Completed 1200 requests
Completed 1400 requests
Completed 1600 requests
Completed 1800 requests
Completed 2000 requests
Finished 2000 requests
Server Software:        Apache   # web服務器請求軟件及版本
Server Hostname:        www.XX.cn # 請求地址
Server Port:            80 # 請求端口
Document Path:          /index.html # 請求頁面路徑
Document Length:        234 bytes # 而面大小
Concurrency Level:      1000 # 并發數
Time taken for tests:   38.900 seconds # 測試總共花費時間
Complete requests:      2000 # 完成請求數
Failed requests:        0 # 失敗請求數
Write errors:           0 # 寫入錯誤數
Non-2xx responses:      2017
Total transferred:      895548 bytes # 總共傳輸字節數,包含httpd的頭信息
HTML transferred:       471978 bytes # html字節數,實際而面傳遞字節數
Requests per second:    51.41 [#/sec] (mean) # 每秒處理的請求數,服務器的吞吐量
Time per request:       19449.847 [ms] (mean) # 平均數,用戶平均請求等待時間
Time per request:       19.450 [ms] (mean, across all concurrent requests) # 服務器平均處理時間
Transfer rate:          22.48 [Kbytes/sec] received # 平均傳輸速率(每秒收到的速度)
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       41 1235 2468.2     71   15043
Processing:    42 8057 8915.3   4085   38294
Waiting:       42 6848 8345.8   1829   37223
Total:        154 9292 9399.9   5947   38595
Percentage of the requests served within a certain time (ms)
  50%   5947
  66%  11514
  75%  16775
  80%  17320
  90%  21496
  95%  31725
  98%  34918
  99%  36105
 100%  38595 (longest request)

ab測試過程中錯誤解決方法

1)ab并發數不能大于請求數,會提示
            ab: Cannot use concurrency level greater than total number of requests
        2)請求數默認不能超過1024個,會提示
            socket: Too many open files (24)
            可用ulimit -n命令修改,例如:ulimit -n 8192 (設置用戶可以同時打開的最大文件數)。
        3)并發數默認不能大于20000個,會提示
            ab: Invalid Concurrency [Range 0..20000]
            需要修改apache源代碼support目錄下ab.c文件,找到:
        #define MAX_CONCURRENCY 20000
        將宏定義的值改大,重新編譯安裝apache。

自學php博客

自學php博客
請先登陸后發表評論
  • 最新評論
  • 總共0條評論
  • ? 2014-2016 zixuephp.cn 版權所有
  • ICP證:皖ICP備16012107號
  • 聯系郵箱:[email protected]
  • 交流請加微信:weibobf2899 或掃下方二維碼
双大床红利扑克1手APP