澳门金莎娱乐网站:Apache自带压力测量检验工具

作者: 澳门金莎娱乐网站  发布:2019-11-14

企业把其网站视为日常运作的关键业务。为了让关键业务的功能运作一直保持在最佳性能,Linux系统管理员需要多种工具来帮助他们简易有效地监控Web服务器。

Apache自带压力测试工具——AB初体验

我们知道压力测试的软件确实很多,诸如微软的WAST,惠普的LoadRunner以及等等其他的,但这些软件学习起来还是需要花费些时间,在选择上实在头痛,后来在郭欣的那本《构建高性能Web站点》【PDF下载 】上看到了他介绍的这款Apache自带的压力测试工具AB,十分喜爱,于是今天终于有机会体验下ab对网站的压力测试。

    实验之前我的apache已经安装了,操作系统:Ubuntu 10.04 VMware 7.0

1、先查看一下版本信息 ab -V(注意是大写的V)
[email protected]:~$ ab -V 
02.This is ApacheBench, Version 2.3 <$Revision: 655654 $> 
03.Copyright 1996 Adam Twiss, Zeus Technology Ltd,  
04.Licensed to The Apache Software Foundation,  

 2、我们也可以使用小写的v查看下ab命令的一些属性 ab -v
[email protected]:~$ ab -v 
02.ab: option requires an argument -- v 
03.ab: wrong number of arguments 
04.Usage: ab [options] [http[s]://]hostname[:port]/path 
05.Options are: 
06.    -n requests    Number of requests to perform 
07.    -c concurrency  Number of multiple requests to make 
08.    -t timelimit    Seconds to max. wait for responses 
09.    -b windowsize  Size of TCP send/receive buffer, in bytes 
10.    -p postfile    File containing data to POST. Remember also to set -T 
11.    -u putfile      File containing data to PUT. Remember also to set -T 
12.    -T content-type Content-type header for POSTing, eg. 
13.                    'application/x-www-form-urlencoded' 
14.                    Default is 'text/plain' 
15.    -v verbosity    How much troubleshooting info to print 
16.    -w              Print out results in HTML tables 
17.    -i              Use HEAD instead of GET 
18.    -x attributes  String to insert as table attributes 
19.    -y attributes  String to insert as tr attributes 
20.    -z attributes  String to insert as td or th attributes 
21.    -C attribute    Add cookie, eg. 'Apache=1234. (repeatable) 
22.    -H attribute    Add Arbitrary header line, eg. 'Accept-Encoding: gzip' 
23.                    Inserted after all normal header lines. (repeatable) 
24.    -A attribute    Add Basic WWW Authentication, the attributes 
25.                    are a colon separated username and password. 
26.    -P attribute    Add Basic Proxy Authentication, the attributes 
27.                    are a colon separated username and password. 
28.    -X proxy:port  Proxyserver and port number to use 
29.    -V              Print version number and exit 
30.    -k              Use HTTP KeepAlive feature 
31.    -d              Do not show percentiles served table. 
32.    -S              Do not show confidence estimators and warnings. 
33.    -g filename    Output collected data to gnuplot format file. 
34.    -e filename    Output CSV file with percentages served 
35.    -r              Don't exit on socket receive errors. 
36.    -h              Display usage information (this message) 
37.    -Z ciphersuite  Specify SSL/TLS cipher suite (See openssl ciphers) 
38.    -f protocol    Specify SSL/TLS protocol (SSL2, SSL3, TLS1, or ALL) 

3、现在我们就对88181的网站进行一次压力测试吧,使用命令ab -n1000 -c10 -n1000 表示总请求数 -c10表示并发用户数为10 表示请求的URL,下面是测试的结果,其中我们最关心的三个指标,我已经注释出来了。

 
[email protected]:~$ ab -n1000 -c10  
02.This is ApacheBench, Version 2.3 <$Revision: 655654 $> 
03.Copyright 1996 Adam Twiss, Zeus Technology Ltd,  
04.Licensed to The Apache Software Foundation,  

  1. 07.Benchmarking www.88181.com (be patient) 
    08.Completed 100 requests 
    09.Completed 200 requests 
    10.Completed 300 requests 
    11.Completed 400 requests 
    12.Completed 500 requests 
    13.Completed 600 requests 
    14.Completed 700 requests 
    15.Completed 800 requests 
    16.Completed 900 requests 
    17.Completed 1000 requests 
    18.Finished 1000 requests 
  2. /*WEB服务器用的是nginx*/
    21.Server Software:        nginx 
    22.Server Hostname:        www.88181.com 
    23.Server Port:            80
  3. 25.Document Path:          /index.php 
    26.Document Length:        154 bytes 
  4. 28.Concurrency Level:      10
    29.Time taken for tests:  74.373 seconds 
    30.Complete requests:      1000
    31.Failed requests:        0
    32.Write errors:          0
    33.Non-2xx responses:      1000
    34.Total transferred:      330000 bytes 
    35.HTML transferred:      154000 bytes
    36./*大家最关心的指标之一,指的是吞吐率
    37.相当于 LR 中的 每秒事务数 ,后面括号中的 mean 表示这是一个平均值*/ 
    38.Requests per second:    13.45 [#/sec] (mean)
    39./*大家最关心的指标之二,指的是用户平均请求等待时间
    40.相当于 LR 中的 平均事务响应时间 ,后面括号中的 mean 表示这是一个平均值*/
    41.Time per request:      743.726 [ms] (mean)
    42./*大家最关心的指标之三,指的是服务器平均请求处理时间
    43.Time per request:      74.373 [ms] (mean, across all concurrent requests) 
    44.Transfer rate:          4.33 [Kbytes/sec] received 
  5. 46.Connection Times (ms) 
    47.              min  mean[ /-sd] median  max 
    48.Connect:      129  163 245.3    145    3154
    49.Processing:  129  576 1510.8    147  11756
    50.Waiting:      129  567 1502.0    147  11756
    51.Total:        261  739 1543.7    294  11888
  6. 53.Percentage of the requests served within a certain time (ms) 
    54.  50%    294
    55.  66%    297
    56.  75%    304
    57.  80%    308
    58.  90%  1290
    59.  95%  3452
    60.  98%  7582
    61.  99%  7962
  7. 100%  11888 (longest request) 

4、为了使结果更有对比性,我们将并发用户更改为100个进行压力测试,我这里只将三个指标贴出来。
01.Requests per second:    190.95 [#/sec] (mean) 
02.Time per request:      523.694 [ms] (mean) 
澳门金莎娱乐网站 ,03.Time per request:      5.237 [ms] (mean, across all concurrent requests) 

5、将并发用户改为200个进行测试
01.Requests per second:    186.00 [#/sec] (mean) 
02.Time per request:      1149.433 [ms] (mean) 
03.Time per request:      5.747 [ms] (mean, across all concurrent requests) 

6、500个并发用户时的情况
01.Requests per second:    180.99 [#/sec] (mean) 
02.Time per request:      2631.662 [ms] (mean) 
03.Time per request:      5.263 [ms] (mean, across all concurrent requests) 

我们来分析下测试的结果,先对比下吞吐率,当并发用户的时候吞吐率最高为190 reqs/s,当并发用户数为200,500 吞吐率下降了,随之用户的等待时间更是明显增加了,已经有2s的等待时间了。这说明性能明显下降了。当然分析这个测试结果并不是说明88181的网站的并发用户只能在500左右,因为我是在服务器负荷的情况下就行测试的,这显然不能说明问题。另外我们在生产环境下测试的时候,最好能将测试结果做成报表,这样可以非常清晰地对比出问题来,好了,我该准备下,给上面提交一份我们公司网站的测试报告了。

本文永久更新链接地址:

我们知道压力测试的软件确实很多,诸如微软的WAST,惠普的LoadRunner以及等等其他的,但这些软件学习...

以下三个开源工具可以帮助Linux管理员更进一步地理解他们的Web服务器的功能、潜在安全问题和访客人数:

1.用Apache Bench的测试性能基准。解决非预期性能下降的最好方法是确保它不在最初时发生。一个叫做Apache Benchab)的工具可以用于测试服务器的性能基准并优化其配置。

Apache Bench的命令行界面很容易使用,系统管理员可以规定测试性能时应该现时发生的请求数量、POST净负荷或者包含有效性能结果的输出文件名。下面,你可以看看如何检查GameNomad开发服务器的性能,这能让你看到与在生产服务器上运行网站的对比性能:

该测试会发布总共1000个请求,同时执行10个请求:

$ ab -c 10 -n 1000
...
Benchmarking stage.gamenomad.com (be patient)
Completed 100 requests
Completed 200 requests
...
Completed 900 requests
Completed 1000 requests
Finished 1000 requests

Server Software:        Apache/2.2.17
Server Hostname:        stage.gamenomad.com
Server Port:            80

Document Path:          /
Document Length:        9654 bytes

Concurrency Level:      10
Time taken for tests:   376.074 seconds
Complete requests:      1000
Failed requests:        8
   (Connect: 0, Receive: 0, Length: 8, Exceptions: 0)
Write errors:           0
Total transferred:      9988344 bytes
HTML transferred:       9596168 bytes
Requests per second:    10.91 [#/sec] (mean)
Time per request:       916.872 [ms] (mean)
Time per request:       91.687 [ms] (mean, across all concurrent requests)
Transfer rate:          106.58 [Kbytes/sec] received

Connection Times (ms)

min  mean[ /-sd] median   max
Connect:       88   96   9.7     94     151
Processing:   320  739 496.8    491    2640
Waiting:      221  629 494.2    376    2539
Total:        413  835 495.6    587    2735

Percentage of the requests served within a certain time (ms)
  50%    587
  66%    729
  75%    942
  80%   1528
  90%   1672
  95%   1761
  98%   1924
  99%   2735
 100%   2735 (longest request)

本文由金沙澳门官网发布于澳门金莎娱乐网站,转载请注明出处:澳门金莎娱乐网站:Apache自带压力测量检验工具

关键词: 金沙澳门官网