`

apache 自带的ab.exe 测试网站的并发量(网站压力测试)

    博客分类:
  • web
阅读更多

AB(ApacheBench) Apache 自带的超文本传输协议 (HTTP) 性能测试工具。 其设计意图是描绘当前所安装的 Apache 的执行性能, 主要是显示 Apache 每秒可以处理多少个请求。

该工具是 Apache 自带的工具。 安装了 Apache Http Server 就有了 ab.exe 程序。

安装完后,在 apache Bin 目录下有 ab.exe 程序。 这个就是我们的 AB 工具。

 

AB 工具的使用方法:

 

C: >cd C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin

C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin>ab

ab: wrong number of arguments

Usage: ab [options] [http://]hostname[:port]/path

Options are:

    -n requests     Number of requests to perform

    -c concurrency  Number of multiple requests to make

    -t timelimit    Seconds to max. wait for responses

    -b windowsize   Size of TCP send/receive buffer, in bytes

    -p postfile     File containing data to POST. Remember also to set -T

    -u putfile      File containing data to PUT. Remember also to set -T

    -T content-type Content-type header for POSTing, eg.

                     'application/x-www-form-urlencoded'

                    Default is 'text/plain'

    -v verbosity    How much troubleshooting info to print

    -w              Print out results in HTML tables

    -i              Use HEAD instead of GET

    -x attributes   String to insert as table attributes

    -y attributes   String to insert as tr attributes

    -z attributes   String to insert as td or th attributes

    -C attribute    Add cookie, eg. 'Apache=1234. (repeatable)

    -H attribute    Add Arbitrary header line, eg. 'Accept-Encoding: gzip'

                    Inserted after all normal header lines. (repeatable)

    -A attribute    Add Basic WWW Authentication, the attributes

                    are a colon separated username and password.

    -P attribute    Add Basic Proxy Authentication, the attributes

                    are a colon separated username and password.

    -X proxy:port   Proxyserver and port number to use

    -V              Print version number and exit

    -k               Use HTTP KeepAlive feature

    -d              Do not show percentiles served table.

    -S              Do not show confidence estimators and warnings.

    -g filename     Output collected data to gnuplot format file.

    -e filename     Output CSV file with percentages served

    -r              Don't exit on socket receive errors.

    -h              Display usage information (this message)

 

C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin>

示例:

C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin>ab -n 1000 -c 50 http://blog.csdn.net/tianlesoftware/archive/2010/05/25/5622268.aspx

 

-- 注意, 这里要写一个具体的页面

 

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 blog.csdn.net (be patient)

Completed 100 requests

Completed 200 requests

Completed 300 requests

Completed 400 requests

Completed 500 requests

Completed 600 requests

Completed 700 requests

Completed 800 requests

Completed 900 requests

Completed 1000 requests

Finished 1000 requests

 

 

Server Software:        nginx/0.7.65

Server Hostname:        blog.csdn.net

Server Port:            80

 

Document Path:      /tianlesoftware/archive/2010/05/25/5622268.aspx -- 请求资源

Document Length:        169 bytes  -- 文档返回的长度,不包括相应头

 

Concurrency Level:      50  -- 并发个数

Time taken for tests:   118.549 seconds  -- 请求消耗总时间

Complete requests:      1000  -- 总请求数

Failed requests:        1

   (Connect: 1, Receive: 0, Length: 0, Exceptions: 0)

Write errors:           0

Non-2xx responses:      1000

Total transferred:      334000 bytes

HTML transferred:       169000 bytes

Requests per second:    8.44 [#/sec] (mean)  -- 平均每秒请求数

Time per request:       5927.439 [ms] (mean)   -- 平均每个请求时间

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

                                          -- 平均每个请求时间除以并发数, 这里是 5927.439/50

Transfer rate:          2.75 [Kbytes/sec] received   -- 时间传输速率

 

Connection Times (ms)

              min  mean[+/-sd] median   max

Connect:       47   97  72.8     63     742

Processing:    57 5720 4597.9   4666   25381

Waiting:       54 2711 3312.5   2128   25176

Total:        112 5817 4595.1   4754   25435

 

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

  50%   4754   --

  66%   5491

  75%   6005

  80%   6274

  90%   7366

  95%   8697

  98%  25232

  99%  25415

  100%  25435 (longest request)

 

C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin>

 

 

含义:   同时处理 50 个并发请求并运行 1000 :

       /tianlesoftware/archive/2010/05/25/5622268.aspx

 

结果:   在并发 50 个请求的情况下,完成 1000 次的访问请求,共花了 118.549 秒,这个程序每秒可处理 8.44 个请求。

 

 

1,使用ab,发送post数据:

apachebench网上的资料很多
但是甚至包括国外的文章以及官方文档
出了help显示的内容之外就没有任何一丁点更详细些的内容了
要使用ab进行post数据测试.从help可以看出我们需要定义两个内容
一个是-p参数.指定需要post的数据
还有一个是-T参数,指定使用的content-type
我在服务器端简单的写了一个脚本.将获取到的post请求输出到文件


<?php
echo $_REQUEST['test'];
$file=fopen('/data/www/log.txt','a+');
fwrite($file,date("Y-m-d H:i:s"));
fwrite($file,$_REQUEST['test']);
fclose($file);
?>


然后在本地生成post.txt文件
内容为test=abc
使用ab进行测试
ab -n 1 -p post.txt http://192.168.0.2/test.php
发现服务器端接受到了请求,但是没有受到post的数据
使用类型之后.也还是不行
ab -n 1 -p post.txt -T ‘text/html’ http://192.168.0.2/test.php
使用get方式测试
ab -n 1 http://192.168.0.2/test.php?test=abc
服务器端则可以正常工作
和开始说的一样.翻烂了google也没有找到
最后只能用wireshark抓包
最后发现content-type一定要设置成为
application/x-www-form-urlencoded
最后如下测试.才最后通过
ab -n 1 -p post.txt -T ‘application/x-www-form-urlencoded’ http://192.168.0.2/test.php
还有postfile
如果有多条记录
内容可以写成
test1=a&test2=b
类似这样即可
这个也是文档中没有提及的,让我一开始以为postfile的格式有误.
网上有提到过一种格式
test1=a
test2=b
这种是不对的
这样的ab会把整个
a回车test2=b
当作test1这个field传送出去

2,使用ab发送get数据

直接将url地址,加双引号如果”"http://test.qq/?c=index&r=104717283&sid=dShRB6zkP0twTOOwIim5“

分享到:
评论

相关推荐

    Apache 压力测试工具ab 专注接口测试 并发测试

    Apache的ab(ApacheBench)是一款简单而强大的压力测试工具,专用于接口和并发测试。在Web服务性能优化和系统负载能力评估中,ab扮演着关键角色。它可以帮助开发者和运维人员了解服务器在高并发情况下的表现,以及...

    apache下ab.exe使用介绍

    `ab.exe` 是 Apache 自带的一款性能测试工具,主要用于对 HTTP 服务器进行基准测试。通过模拟多个并发请求,它可以评估服务器在高负载下的表现,并提供详细的性能报告。 #### 二、ab.exe 安装与配置 在 Windows ...

    28. ab.exe 29.siege 动态请求

    `ab.exe` 是Apache HTTP服务器自带的一款简单易用的负载测试工具。它的全称是ApacheBench,可以用来测试Web服务器的性能指标,如每秒完成的请求数(Requests per second)、吞吐量(Bytes transferred)以及平均响应...

    apache压力测试.pdf

    ### Apache压力测试知识...通过上述内容,我们可以了解到Apache Benchmark(ab)作为一款轻量级的压力测试工具,在日常开发和运维工作中具有重要的作用。正确使用它可以帮助我们更好地理解和优化Web服务器的性能表现。

    Apache压力测试工具

    另一方面,ab(ApacheBench)是Apache HTTP Server自带的一个轻量级命令行工具,主要用于对Web服务器进行简单的HTTP请求压力测试。它能快速发送指定数量的请求,计算响应时间的平均值、中位数等统计信息,以评估...

    apache压力测试之ab

    "ab"(ApacheBench)是Apache HTTP服务器自带的一个简单压力测试工具,用于模拟多个并发用户对Web服务器进行请求,以此来测量服务器的处理能力和响应速度。 **ab工具详解** 1. **安装与使用** - 安装:在大多数...

    Apache网站压力测试工具ab使用教程.zip

    【Apache网站压力测试工具ab使用教程】 Apache HTTP服务器自带了一个名为`ab`(ApacheBench)的简单压力测试工具,用于评估Web服务器的性能。它能够模拟多个并发用户请求,以此来测试服务器在高负载下的响应时间和...

    ab压力测试分析1

    ab压力测试工具是Apache自带的一个功能强大且易用的压力测试工具,当安装完Apache时,就可以在bin下面找到ab。下面是对ab压力测试分析的详细说明: 1. ab命令参数解释 在使用ab工具时,需要指定以下参数: * -n:...

    BOMS.zip_apache-ab 测试_scubom

    Apache Bench, 简称ab,是Apache HTTP服务器自带的一个轻量级性能测试工具。它能够模拟多个并发用户对指定URL进行请求,从而评估服务器的性能和稳定性。在“BOMS.zip_apache-ab 测试_scubom”这个压缩包中,我们可以...

    apache-bench压力测试

    Apache Bench(ab)是Apache HTTP服务器自带的一个命令行工具,用于进行HTTP服务器的压力测试和性能评估。这个工具可以帮助我们了解服务器在高并发情况下的处理能力,优化服务器配置,以及对比不同服务器软件或不同...

    Apache Benchmark(简称ab压力测试工具) 是Apache安装包中自带的压力测试工具 ,简单易用

    -n 即requests,用于指定压力测试总共的执行次数。 -c 即concurrency,用于指定的并发数。 -t 即timelimit,等待响应的最大时间(单位:秒)。 -b 即windowsize,TCP发送/接收的缓冲大小(单位:字节)。 -p 即...

    Apache ad 服务器压力测试

    `ab`是Apache自带的简单命令行工具,它可以快速发送HTTP请求到服务器并分析结果。使用`ab`时,我们需要指定目标URL、并发用户数和总请求数。例如,`ab -n 1000 -c 100 http://localhost/`会向本地服务器发送1000个...

    Apache自带的ab压力测试工具用法详解

    ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,可以在bin下面找到ab  1 我们可以模拟100个并发用户,对一个页面发送1000个请求  ./ab -n1000 -c100 http://www.baidu.com  其中-n代表请求...

    压力测试工具-ab工具

    压力测试工具-ab工具是Apache HTTP服务器自带的一款压力测试工具,用于模拟多个并发用户对Web服务器的访问请求,以测试Web服务器的性能和稳定性。下面是关于ab工具的详细知识点: 1. ab工具的安装和配置 ab工具是...

    网页并发测试小工具ApacheBench

    ApacheBench,简称ab,是Apache HTTP服务器自带的一款性能测试工具,主要用来对Web服务器进行基准测试,评估其处理并发请求的能力。它可以帮助系统管理员、开发者或者网站所有者了解服务器在高负载情况下的表现,...

    ab压力测试的安装、使用、破2万并发测试

    AB压力测试,全称为Apache Bench,是Apache HTTP服务器自带的一款轻量级的压力测试工具。它的主要功能是模拟多个并发用户对指定的URL进行访问,以此来评估服务器在高并发情况下的性能表现。无论是Apache服务器,还是...

    ab并发测试及说明.rar

    ab(ApacheBench)是Apache HTTP服务器自带的一个命令行工具,用于对Web服务器进行压力测试。它能模拟多个并发用户发起HTTP请求,从而测量服务器的处理能力和响应时间。这对于我们理解系统的极限性能、优化配置和...

    推荐5款网站压力测试工具 服务器压测工具对网站进行压力测试的工具.zip

    网站压力测试是评估服务器性能和稳定性的重要环节,它可以帮助我们了解在高并发访问情况下,网站或应用程序能否正常运行。下面将详细介绍五款推荐的网站压力测试工具,以及它们的使用方法和特点。 1. Apache JMeter...

Global site tag (gtag.js) - Google Analytics