使用Apache Server 的ab进行web请求压力测试

参考:http://www.cnblogs.com/spring3mvc/archive/2010/11/23/2414741.html

自己写代码经常是顺着逻辑写下去,写完后run一下,ok就玩完事了。直到遇到一个又一个的问题的时候才回头过来重新修改。这就是没有测试的悲剧。因此,在今后的代码中一定要尝试着去写测试,去做测试。

发现Apache Server下有个工具ab可以进行并发请求,正好有个需求想要知道并发下的访问情况。

1.下载

访问:http://httpd.apache.org/download.cgi

然后点击:

然后跳到一个页面说只提供源码,自己编译,云彩。不过也提供了推荐第三方编译,选择第一个:

然后是选择镜像和版本,不要选择德国的:

2.安装

我这是买椟还珠的游戏,不想去了解Apache的功能,只想要ab。所以直接解压,然后在bin目录找到ab就可以了:

3.测试

输入ab就可以看到帮助文档

D:\Java\httpd-2.4.23-x64-vc14\Apache24\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 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.
    -m method       Method name
    -h              Display usage information (this message)

D:\Java\httpd-2.4.23-x64-vc14\Apache24\bin>

举例:

D:\Java\httpd-2.4.23-x64-vc14\Apache24\bin>ab -n 20 -c 10 localhost:8080/user/all

-n表示一共请求20次

-c表示并发量为10次。

也就是说,会进行两个并发,每次10个。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术栈

Maven精选系列--POM文件解析

之前有介绍到maven的标准目录结构,也看到了maven的核心配置文件pom.xml文件,今天就解析这个配置文件。 maven工程的核心文件就是这个pom文件了...

34914
来自专栏我是攻城师

漫谈依赖管理工具:从Maven,Gradle到Go

3086
来自专栏大闲人柴毛毛

0基础教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)

本文你将学到什么? 本文将以原理+实战的方式,首先对“微服务”相关的概念进行知识点扫盲,然后开始手把手教你搭建这一整套的微服务系统。 项目完整源码下载 h...

1.4K7
来自专栏CodeSheep的技术分享

Pipeline As Code With Jenkins2.0

3399
来自专栏小狼的世界

Apache的Charset设置

今天从这篇文章中学习了apache关于defaultcharset的设置和优先级的问题。

793
来自专栏黑白安全

如何使用Ruby构建FTP密码破解器

这篇文章我将带大家利用Ruby,来构建我们自己的FTP密码破解器。并希望通过这个例子,让大家明白暴力攻击的概念及其重要性。好了话不多说,下面让我们开始吧!

804
来自专栏SDNLAB

ONOS编程系列(四)Provider开发

在学习本篇文章的时候,笔者假设读者已经读过该系列的前几篇文章,或者对于ONOS整个项目的架构有一定的了解,并且电脑上已经有onos-1.1的源程序,能熟练使用O...

3165
来自专栏我是攻城师

使用SpringBoot1.4.0的一个坑

3638
来自专栏大魏分享(微信公众号:david-share)

微服务的集成测试 | 微服务系列第八篇

在敏捷开发过程中,添加到现有微服务的任何更改或新功能都可能会破坏应用程序功能。 开发人员使用测试框架(如JUnit和TestNG)来创建单元测试,以验证小型自包...

974
来自专栏公有云大数据平台弹性MapReduce

Hbase参数调优

2. 管理和分配HRegion,比如在HRegion split 时分配新的HRegion;在HRegionServer 退出时迁移其内的

4569

扫码关注云+社区