使ApacheBench支持multi-url的方法

 更新时间:2021年01月04日 10:10:04   作者:wangqingyong  
这篇文章主要介绍了使ApacheBench支持multi-url的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

由于标准的ab只支持对单个uri进行压测,不满足实际需要,故做以下修改,使ab支持multi-url。

1、下载Apache httpd相关源码包以及针对ab工具的patch包

wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.6.5.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.37.tar.gz
wget https://github.com/philipgloyne/apachebench-for-multi-url/archive/master.zip

注:httpd依赖于apr和apr-util

2、编译安装apr

tar -zxf apr-1.6.5.tar.gz
cd apr-1.6.5
./configure --prefix=/usr/local/apr
make && make install

3、编译安装apr-util

tar -zxf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install

4、替换httpd源码里面的ab.c文件

unzip master.zip
tar -zxf httpd-2.4.37.tar.gz
\cp ./apachebench-for-multi-url-master/ab.c ./httpd-2.4.37/support/

5、编译安装httpd

cd httpd-2.4.37
./configure               \
  --with-apr=/usr/local/apr      \
  --with-apr-util=/usr/local/apr-util \
  --prefix=/usr/local/apache     \
  --sysconfdir=/etc/httpd24      \
  --enable-so             \
  --enable-ssl            \
  --enable-cgi            \
  --enable-rewrite          \
  --with-zlib             \
  --with-pcre             \
  --with-mpm=prefork         \
  --enable-modules=most        \
  --enable-mpms-shared=all 

make && make install

6、验证结果

#/usr/local/apache/bin/ab -h
Usage: /usr/local/apache/bin/ab [options] [http[s]://]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)
  -L       Use URL list file name, eg. url.txt
  -Z ciphersuite Specify SSL/TLS cipher suite (See openssl ciphers)
  -f protocol   Specify SSL/TLS protocol (SSL2, SSL3, TLS1, or ALL)

可以看到ab已经支持-L参数(上面帮助信息的倒数第3行),大功告成。

到此这篇关于使ApacheBench支持multi-url的方法的文章就介绍到这了,更多相关ApacheBench支持multi-url内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux date命令的使用

    Linux date命令的使用

    这篇文章主要介绍了Linux date命令的使用,帮助大家更好的理解和学习Linux,感兴趣的朋友可以了解下
    2020-08-08
  • Centos7上Mesos和Marathon的安装和配置

    Centos7上Mesos和Marathon的安装和配置

    这篇文章主要介绍了Centos7上Mesos和Marathon的安装和配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • 在Linux下搭建Git服务器步骤

    在Linux下搭建Git服务器步骤

    本篇文章主要介绍了在Linux下搭建Git服务器步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Linux服务器部署JavaWeb项目完整教程

    Linux服务器部署JavaWeb项目完整教程

    这篇文章主要介绍了Linux服务器部署JavaWeb项目完整教程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • linux下安装Hadoop的详细教程

    linux下安装Hadoop的详细教程

    这篇文章主要介绍了linux下安装Hadoop的详细教程,Hadoop是一个分布式系统基础架构,充分利用集群的威力进行高速运算和存储,需要的朋友可以参考下
    2023-03-03
  • 利用Linux防火墙隔离本地欺骗地址的方法详解

    利用Linux防火墙隔离本地欺骗地址的方法详解

    防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。下面这篇文章主要给大家介绍了关于如何利用Linux防火墙隔离本地欺骗地址的相关资料,文中介绍的非常详细,需要的朋友可以参考下
    2018-05-05
  • Linux常见英文报错中文翻译(菜鸟必知)

    Linux常见英文报错中文翻译(菜鸟必知)

    这篇文章主要介绍了Linux常见英文报错中文翻译,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Linux proc目录下子文件或子文件夹的作用

    Linux proc目录下子文件或子文件夹的作用

    这篇文章主要介绍了Linux proc目录下子文件或子文件夹的作用,以及读取这些信息的实际操作命令,需要的朋友可以参考下
    2014-03-03
  • ssh修改超时自动登出时间的方法

    ssh修改超时自动登出时间的方法

    这篇文章主要介绍了关于linux中ssh超时自动登出时间的设置方法,以避免总是被强行退出。需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • linux实现自动删除最旧的几个文件详解

    linux实现自动删除最旧的几个文件详解

    最近因为工作的原因,有需求要删除Linux中旧的压缩包,发现网上给的答案都是删除N天前的文件,无法适应我的要求,于是自己研究了一翻。所以下面这篇文章主要介绍了关于linux自动删除最旧的几个文件的相关资料,需要的朋友可以参考下。
    2017-09-09

最新评论