From: http://jackei.cnblogs.com Author: Chen Lei (jackei)
Introduction:
The full name of AB is apachemark. It is a small tool attached to Apache. It is specially used for the HTTP server's Benchmark Testing and can simulate multiple concurrent requests at the same time. Some time ago, I saw that the company's developers are also using it for some tests. It looks good, simple, and easy to use. So I took a moment to read it.
The following is a simple example and comment, which makes it easier for you to understand the use of this tool.
A simple example:
/* At the beginning of this example, I executed such a command AB-N 10-C 10 http://www.google.com /. This command is used to start AB, send 10 requests (-N 10) to www.google.com, and send 10 requests (-C 10) Each time-that is, all requests are sent. The following is the test report output by AB. The red part is the comment I added. */
C:/program files/Apache Software Foundation/apache2.2/bin> AB-N 10-C 10 HTTP
: // Www.google.com/
This is apachetings, 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/1, 2.1
Server Hostname: www.google.com
Server port: 80
Document path :/
Document length: 230 bytes
Concurrency level: 10
/* Duration of the entire test */
Time taken for tests: 3.234651 seconds
/* Number of completed requests */
Complete requests: 10
/* Number of failed requests */
Failed requests: 0
Write errors: 0
Non-2xx responses: 10
Keep-alive requests: 10
/* Network transmission volume in the entire scenario */
Total transferred: 6020 bytes
/* The amount of HTML content transmitted throughout the scenario */
HTML transferred: 2300 bytes
/* One of the most important indicators is the number of transactions per second in LR. The mean in the brackets below indicates that this is an average value */
Requests per secondd: 3.09 [#/sec] (mean)
/* The second metric that everyone cares most about is equivalent to the average transaction response time in LR. The mean in the brackets below indicates that this is an average value */
Time per request: 3234.651 [MS] (mean)
/* I don't know what it means. If you have any friends, please leave a message. Thank you */
Time per request: 323.465 [MS] (mean, internal SS all concurrent requests)
/* The average network traffic per second can help eliminate the problem of excessive network traffic resulting in prolonged response time */
Transfer Rate: 1.55 [Kbytes/sec] canceled ed
/* Decomposition of time consumed on the network. The specific algorithms of various data are not very clear */
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
Total: 60 2479 1276.4 3064
/* The following content shows the responses of all requests in the entire scenario. Each request has a response time in the scenario. 50% of the user response time is less than 3064 milliseconds, 60% of the user response time is less than 3094 milliseconds, and the maximum response time is less than 3184 milliseconds */
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)