时间:2021-05-19
由于标准的ab只支持对单个uri进行压测,不满足实际需要,故做以下修改,使ab支持multi-url。
1、下载Apache httpd相关源码包以及针对ab工具的patch包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.6.5.tar.gzwget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.1.tar.gzwget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.37.tar.gzwget https://github.com/philipgloyne/apachebench-for-multi-url/archive/master.zip注:httpd依赖于apr和apr-util
2、编译安装apr
tar -zxf apr-1.6.5.tar.gzcd apr-1.6.5./configure --prefix=/usr/local/aprmake && make install3、编译安装apr-util
tar -zxf apr-util-1.6.1.tar.gzcd apr-util-1.6.1./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/aprmake && make install4、替换httpd源码里面的ab.c文件
unzip master.ziptar -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 install6、验证结果
#/usr/local/apache/bin/ab -hUsage: /usr/local/apache/bin/ab [options] [http[s]://]hostname[:port]/pathOptions 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内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
方法说明:为URL或href插入或替换原有的标签。(不懂可以看例子)语法:复制代码代码如下:url.resolve(from,to)由于该方法属于url模块,使
FFRouter是iOS中一个强大且易用的URL路由库,支持URLRewrite,使APP在发布之后也可以动态修改相关路由逻辑。基于匹配查找URL,效率高。集成
从Docker版本17.05.0-ce开始,就支持了一种新的构建镜像的方法,叫做:多阶段构建(Multi-stagebuilds),旨在解决Docker构建应用
本文实例讲述了PHP使用curl_multi_select解决curl_multi网页假死问题的方法。分享给大家供大家参考,具体如下:curl_multi可以批
Android中XML的一些操作解析类://构造方法publicXMLParser(){}/***从URL获取XML使HTTP请求**@paramurl*str