日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

apacheBench对网站进行压力测试

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 apacheBench对网站进行压力测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

apacheBench對網站進行壓力測試

分類: 學習 apacheBench壓力測試

Apache Benchmark下載

???????? ab 的全稱是 ApacheBench , 是 Apache 附帶的一個小工具 , 專門用于 HTTP Server 的 benchmark testing , 可以同時模擬多個并發請求。前段時間看到公司的開發人員也在用它作一些測試,看起來也不錯,很簡單,也很容易使用,所以今天花一點時間看了一下。

通過下面的一個簡單的例子和注釋,相信大家可以更容易理解這個工具的使用。

一個簡單的例子

/*?在這個例子的一開始,我執行了這樣一個命令?ab -n 10 -c 10?http://www.google.com/??這個命令的意思是啟動?ab?,向?www.google.com?發送10個請求(-n 10)???,并每次發送10個請求?(-c 10)——也就是說一次都發過去了?。跟著下面的是?ab?輸出的測試報告,紅色部分是我添加的注釋。?*/

C:\Program Files\Apache Software Foundation\Apache2.2\bin>ab -n 10 -c 10 http

://www.google.com/

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Copyright 1997-2005 The Apache Software Foundation, http://www.apache.org/

?

Benchmarking www.google.com (be patient).....done

?

?

Server Software:??????? GWS/2.1

Server Hostname:??????? www.google.com

Server Port:??????????? 80

?

Document Path:????????? /

Document Length:??????? 230 bytes

?

Concurrency Level:????? 10

/*?整個測試持續的時間?*?/

Time taken for tests:?? 3.234651 seconds

/*?完成的請求數量?*/

Complete requests:????? 10

/*?失敗的請求數量?*/

Failed requests:??????? 0

Write errors:?????????? 0

Non-2xx responses:????? 10

Keep-Alive requests:??? 10

/*?整個場景中的網絡傳輸量?*/

Total transferred:????? 6020 bytes

/*?整個場景中的?HTML?內容傳輸量?*/

HTML transferred:?????? 2300 bytes

/*?大家最關心的指標之一,相當于?LR?中的?每秒事務數?,后面括號中的?mean?表示這是一個平均值?*/

Requests per second:??? 3.09 [#/sec] (mean)

/*?大家最關心的指標之二,相當于?LR?中的?平均事務響應時間?,后面括號中的?mean?表示這是一個平均值?*/

Time per request:?????? 3234.651 [ms] (mean)

/*?這個還不知道是什么意思,有知道的朋友請留言,謝謝?^_^ */

Time per request:?????? 323.465 [ms] (mean, across all concurrent requests)

/*?平均每秒網絡上的流量,可以幫助排除是否存在網絡流量過大導致響應時間延長的問題?*/

Transfer rate:????????? 1.55 [Kbytes/sec] received

/*?網絡上消耗的時間的分解,各項數據的具體算法還不是很清楚?*/

Connection Times (ms)

????????????? min? mean[+/-sd] median?? max

Connect:?????? 20? 318 926.1???? 30??? 2954

Processing:??? 40 2160 1462.0?? 3034??? 3154

Waiting:?????? 40 2160 1462.0?? 3034??? 3154

Total:???????? 60 2479 1276.4?? 3064??? 3184

?

/*?下面的內容為整個場景中所有請求的響應情況。在場景中每個請求都有一個響應時間,其中?50?%?的用戶響應時間小于?3064?毫秒,?60?%?的用戶響應時間小于?3094?毫秒,最大的響應時間小于?3184?毫秒?*/

Percentage of the requests served within a certain time (ms)

? 50%?? 3064

? 66%?? 3094

? 75%?? 3124

? 80%?? 3154

? 90%?? 3184

? 95%?? 3184

? 98%?? 3184

? 99%?? 3184

? 100%?? 3184 (longest request)

?

更多信息

ab 不像 LR 那么強大,但是它足夠輕便,如果只是在開發過程中想檢查一下某個模塊的響應情況,或者做一些場景比較簡單的測試, ab 還是一個不錯的選擇——至少不用花費很多時間去學習 LR 那些復雜的功能,就更別說那 License 的價格了。

下面是 ab 的詳細參數解釋,大家有興趣的可以研究一下,最近沒有足夠多的時間研究,如果哪位朋友有興趣希望可以幫忙翻譯一下每個參數的含義,有問題討論也歡迎在這里回帖 ^_^

ab?[ -?A?auth-username?:?password?] [ -?c?concurrency?] [ -?C?cookie-name?=?value?] [ -?d?] [ -?ecsv-file?] [ -?g?gnuplot-file?] [ -?h?] [ -?H?custom-header?] [ -?i?] [ -?k?] [ -?n?requests?] [ -?pPOST-file?] [ -?P?proxy-auth-username?:?password?] [ -?q?] [ -?s?] [ -?S?] [ -?t?timelimit?] [ -?Tcontent-type?] [ -?v?verbosity?] [ -?V?] [ -?w?] [ -?x?<table>-attributes?] [ -?X?proxy?[:?port?] ] [ -?y<tr>-attributes?] [ -?z?<td>-attributes?] [http://]?hostname?[:?port?]/?path

?

-A?auth-username?:?password

Supply BASIC Authentication credentials to the server. The username and password are separated by a single?:?and sent on the wire base64 encoded. The string is sent regardless of whether the server needs it (i.e.?, has sent an 401 authentication needed).

-c?concurrency

Number of multiple requests to perform at a time. Default is one request at a time.

-C?cookie-name?=?value

Add a?Cookie:?line to the request. The argument is typically in the form of a?name?=?value?pair. This field is repeatable.

-d

Do not display the "percentage served within XX [ms] table". (legacy support).

-e?csv-file

Write a Comma separated value (CSV) file which contains for each percentage (from 1% to 100%) the time (in milliseconds) it took to serve that percentage of the requests. This is usually more useful than the 'gnuplot' file; as the results are already 'binned'.

-g?gnuplot-file

Write all measured values out as a 'gnuplot' or TSV (Tab separate values) file. This file can easily be imported into packages like Gnuplot, IDL, Mathematica, Igor or even Excel. The labels are on the first line of the file.

-h

Display usage information.

-H?custom-header

Append extra headers to the request. The argument is typically in the form of a valid header line, containing a colon-separated field-value pair (i.e.?,?"Accept-Encoding: zip/zop;8bit"?).

-i

Do?HEAD?requests instead of?GET?.

-k

Enable the HTTP KeepAlive feature,?i.e.?, perform multiple requests within one HTTP session. Default is no KeepAlive.

-n?requests

Number of requests to perform for the benchmarking session. The default is to just perform a single request which usually leads to non-representative benchmarking results.

-p?POST-file

File containing data to POST.

-P?proxy-auth-username?:?password

Supply BASIC Authentication credentials to a proxy en-route. The username and password are separated by a single?:?and sent on the wire base64 encoded. The string is sent regardless of whether the proxy needs it (i.e.?, has sent an 407 proxy authentication needed).

-q

When processing more than 150 requests,?ab?outputs a progress count on?stderr?every 10% or 100 requests or so. The?-q?flag will suppress these messages.

-s

When compiled in (?ab -h?will show you) use the SSL protected?https?rather than the?http?protocol. This feature is experimental and?very?rudimentary. You probably do not want to use it.

-S

Do not display the median and standard deviation values, nor display the warning/error messages when the average and median are more than one or two times the standard deviation apart. And default to the min/avg/max values. (legacy support).

-t?timelimit

Maximum number of seconds to spend for benchmarking. This implies a?-n 50000?internally. Use this to benchmark the server within a fixed total amount of time. Per default there is no timelimit.

-T?content-type

Content-type header to use for POST data.

-v?verbosity

Set verbosity level -?4?and above prints information on headers,?3?and above prints response codes (404, 200, etc.),?2?and above prints warnings and info.

-V

Display version number and exit.

-w

Print out results in HTML tables. Default table is two columns wide, with a white background.

-x?<table>-attributes

String to use as attributes for?<table>?. Attributes are inserted?<table?here?>?.

-X?proxy?[:?port?]

Use a proxy server for the requests.

-y?<tr>-attributes

String to use as attributes for?<tr>?.

-z?<td>-attributes

String to use as attributes for?<td>

轉載于:https://www.cnblogs.com/zhengah/p/4331987.html

總結

以上是生活随笔為你收集整理的apacheBench对网站进行压力测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。