ubuntu下 使用AB做压力测试

1最近刚开始接触apache大数据下数据优化,讲一下apache 下ab压力测试工具。

程序“ab”尚未安装。 您可以使用以下命令安装:

apt-get install apache2-utils   

以下是ab --help

sage: ab [options] [http[s]://]hostname[:port]/path
Options are:
    -n requests     Number of requests to perform
    -c concurrency  Number of multiple requests to make at a time
    -t timelimit    Seconds to max. to spend on benchmarking
                    This implies -n 50000
    -s timeout      Seconds to max. wait for each response
                    Default is 30 seconds
    -b windowsize   Size of TCP send/receive buffer, in bytes
    -B address      Address to bind to when making outgoing connections
    -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 to use for POST/PUT data, 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.
    -q              Do not show progress when doing more than 150 requests
    -l              Accept variable document length (use this for dynamic pages)
    -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)
    -Z ciphersuite  Specify SSL/TLS cipher suite (See openssl ciphers)
    -f protocol     Specify SSL/TLS protocol
                    (SSL3, TLS1, TLS1.1, TLS1.2 or ALL)
     -n :总共的请求执行数,缺省是1;
     -c: 并发数,缺省是1;
     -t:测试所进行的总时间,秒为单位,缺省50000s
     -p:POST时的数据文件
     -w: 以HTML表的格式输出结果  

以下为执行    ab -n 5000 -c 200 http://localhost/test.php   的结果:

Benchmarking localhost (be patient)
Completed 500 requests
Completed 1000 requests
Completed 1500 requests
Completed 2000 requests
Completed 2500 requests
Completed 3000 requests
Completed 3500 requests
Completed 4000 requests
Completed 4500 requests
Completed 5000 requests
Finished 5000 requests   //执行完的请求次数

Server Software:        Apache/2.4.3     //apache版本
Server Hostname:        localhost        //主机
Server Port:            80               //端口

Document Path:          /test.php         //路径
Document Length:        62492 bytes       

Concurrency Level:      200
Time taken for tests:   3.927 seconds       //完成此次请求时间
Complete requests:      5000                //完成请求次数
Failed requests:        527                 //失败的请求次数
   (Connect: 0, Receive: 0, Length: 527, Exceptions: 0)
Total transferred:      313289422 bytes         //总共传输字节
HTML transferred:       312459422 bytes
Requests per second:    1273.33 [#/sec] (mean)   //每秒请求次数
Time per request:       157.069 [ms] (mean)       //一次请求时间
Time per request:       0.785 [ms] (mean, across all concurrent requests)
Transfer rate:          77914.14 [Kbytes/sec] received             //传输速率

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    6  73.1      0    1001
Processing:     2  150 143.9    111    1626
Waiting:        2  137 135.3    103    1197
Total:          2  155 160.3    111    1626

Percentage of the requests served within a certain time (ms)
  50%    111
  66%    141
  75%    168
  80%    191
  90%    310
  95%    452
  98%    673
  99%    951
 100%   1626 (longest request)
时间: 2024-11-08 22:40:30

ubuntu下 使用AB做压力测试的相关文章

ab做压力测试

ab是apache 自带的一个压力测试的小工具,可用于接口简单的压力测试. 以下是AB的简要介绍 格式:ab [options] [http://]hostname[:port]/path 参数说明: -n requests Number of requests to perform //在测试会话中所执行的请求个数(本次测试总共要访问页面的次数).默认时,仅执行一个请求. -c concurrency Number of multiple requests to make //一次产生的请求个

在linux中给你的应用做压力测试

在linux中给你的应用做压力测试 作者: 立地 邮箱: [email protected] QQ: 511363759 一.webbench 1.在Ubuntu中安装webbench —支持get,head等请求,但不支持post请求 wget http://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gz tar zxvf webbench-1.5.tar.gz cd webbench-1.5 make && make insta

如何用Jmeter做压力测试 --- 转

Jmeter是一个性能测试工具,同loadrunner类似,他功能较多,我们常用的功能是用jmeter模拟多浏览器对网站做压力测试.    下载jmeter地址 :http://jakarta.apache.org/我们一般的网站,在进入业务功能前先需登录,然后才能访问业务功能.下面介绍如何用jmeter登录系统再对主业务做压力测试.1 运行jmeter    2 左边树将出现测试计划.工作台两根节点.3 选择测试计划,按右键->添加->threads(users)线程组    线程组能设置以

使用Application Center Test (ACT)来做压力测试 【转】

在我们完成了基于SPS2003的开发,实现了我们的具体应用以后,我们是不是就可以直接请用户来使用了呢?如果我这么做,那么有经验的开发人员一定会对此嗤之以鼻:居然连压力测试也不做!真是不想活了…… 呵呵,是啊.开发环境往往只考虑功能,到了具体环境中,就需要考虑有大量的用户来访问的时候,很多功能会不会出错?性能会怎么样呢?……我们这里就简单看看,怎么来做压力测试. 相信作压力测试肯定有很多工具,而我们一般使用的,现在很多是Application Center Test (ACT).这个东东是VS.N

loadrunner之做压力测试要做的准备

前提B/S架构 1.要有个备库和主库保存一致 到时候做压力测试的时候,要断开主库连接到备库.进行测试.以免主库出现垃圾数据.2.节点 判断单节点能承受多大的压力,如200万的用户账号,10万的在线用户,5000的并发用户,50台负载均衡应用服务器,一台数据库服务器,一台手机端服务器,那么单节点最少要承受多大的压力?5000/50=100并发用户 结论:在这样的条件下,单节点要承受100并发用户.这个用户数据有实施提供.3.IE浏览器的兼容性 在loadrunner录制脚本的时候,要求不能出现IE

apache ab工具压力测试

apache本身自带了一个测试工具ab,在apache的安装目录bin目录下 ab的使用方法: Usage: ab [options] [http[s]://]hostname[:port]/path -n 测试会话中所执行的请求个数,默认时,仅执行一个请求-c 一次产生的请求个数.默认是一次一个-t 测试所进行的最大秒数-v 设置显示信息的详细程度 - 4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息. -V 显示版本号zui 最常

(转)学习使用Jmeter做压力测试(三)--数据库测试

数据库测试 JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本. 根据脚本,JMeter可通过线程组来模拟真实用户对Web服务器做压力测试.本文描述使用JMeter进行数据库测试的过程.创建测试计划,模拟 并发用户发送SQL请求到数据库.测试数据库. 性能测试的目标是找到系统的性能瓶颈.本文将通过构造测试场景,完成对数据库的测试. 场景: 1.单用户: a.SQL语句优化:    b.数据库约束检查:   c.分页查询

apache修改最大连接并用ab网站压力测试

httpd.conf的配置 426 # Server-pool management (MPM specific)427 Include conf/extra/httpd-mpm.conf [[email protected] /]# apachectl -lCompiled in modules:  core.c  prefork.c  http_core.c  mod_so.c [[email protected] /]# cat /alidata/server/httpd-2.2.27/c

apachebench ab.exe压力测试

今天使用ab.exe做压力测试,由于页面只接收POST数据,遂上网找了相关资料,GET的一堆,POST的了了无几,而且都是抄来抄去,下面给出正确的POST请求参数信息 ab版本:2.3 E:\>ab -n 1000 -c 100 -p para.txt -T application/x-www-form-urlencoded http://domain/login.html 注意,-T参数不要加引号,否则无法获取到POST值 -p参数需求一个文件,请注意文件路径:para.txt文件内容为acc