ab测压命令,apache测压工具

请求 一个 编程技术
发布日期 2023-09-05 更新日期 2023-09-05 阅读次数 196 文章字数 1.9k

安装apache时会自动安装ab命令
如果不想安装apache,只想安装ab命令只需安装 httpd-tools 包即可

快速安装

yum -y install httpd-tools	#这样安装使其不能支持大于20000的并发数

源码安装

yum -y install gcc gcc-c++ automake apr apr-util pcre apr-devel apr-util-devel pcre-devel		#安装httpd依赖
wget https://mirror.bit.edu.cn/apache//httpd/httpd-2.4.43.tar.gz		#下载httpd包
tar -zxvf httpd-2.4.43.tar.gz -C /usr/src		#解压httpd包
cd /usr/src/httpd-2.4.43						#切换目录到httpd包所在
./configure --prefix=/usr/local/httpd			#编译
make && make install							#安装
ln -s /usr/local/httpd/bin/* /usr/bin			#做软链接
ulimit -n 65535									#修改同时最大打开的文件数,此为临时性的

ab命令简单测试:ab -n 10000 -c 1000 http://192.168.1.108/,表示总共1万次,并发1000

参数说明:

选项 作用
-n 在测试会话中所执行的请求个数。默认时,仅执行一个请求。
-c 一次产生的请求个数。默认是一次一个。
-t 测试所进行的最大秒数。其内部隐含值是-n 50000,它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。
-p 包含了需要POST的数据的文件。
-P 对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。
-T POST数据所使用的Content-type头信息。
-v 设置显示信息的详细程度-4或更大值会显示头信息,3或更大值可以显示响应代码(404,200等),2或更大值可以显示警告和其他信息。
-V 显示版本号并退出。
-w 以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。
-i 执行HEAD请求,而不是GET。
-x 设置<table>属性的字符串。
-X 对请求使用代理服务器。
-y 设置<tr>属性的字符串。
-z 设置<td>属性的字符串。
-C 对请求附加一个Cookie:行。其典型形式是name=value的一个参数对,此参数可以重复。
-H 对请求附加额外的头信息。此参数的典型形式是一个有效的头信息行,其中包含了以冒号分隔的字段和值的对(如,“Accept-Encoding:zip/zop;8bit”)。
-A 对服务器提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即,是否发送了401认证需求代码),此字符串都会被发送。
-h 显示使用方法。
-d 不显示"percentage served within XX [ms] table"的消息(为以前的版本提供支持)。
-e 产生一个以逗号分隔的(CSV)文件,其中包含了处理每个相应百分比的请求所需要(从1%到100%)的相应百分比的(以微妙为单位)时间。由于这种格式已经“二进制化”,所以比’gnuplot’格式更有用。
-g 把所有测试结果写入一个’gnuplot’或者TSV(以Tab分隔的)文件。此文件可以方便地导入到Gnuplot,IDL,Mathematica,Igor甚至Excel中。其中的第一行为标题。
-i 执行HEAD请求,而不是GET。
-k 启用HTTP KeepAlive功能,即在一个HTTP会话中执行多个请求。默认时,不启用KeepAlive功能。
-q 如果处理的请求数大于150,ab每处理大约10%或者100个请求时,会在stderr输出一个进度计数。此-q标记可以抑制这些信息。
-r 在遇到socket接收错误后,不退出测试

ab的结果示例:

性能指标一般网页请求,与响应速度

Requests per second: 42.35 [#/sec] (mean),即QPS Queries Per Second 是每秒查询率 ,是一台服务器每秒能够相应的查询次数,是一台服务器每秒能够响应的查询次数,简单点说,每秒请求响应数,就是说服务器在一秒的时间内处理了多少个请求。

Time per request,页面平均打开速度,一般代表了用户打开页面等待时间

其他说明:

Transfer rate:711.83 [Kbytes/sec] received,表示了服务器的网速为711kb/s

Document Length:        55325 bytes,表示页面大小

性能指标,和并发数有关,比如20并发下的qps和100并发下的qps,表示了在不同并发下服务的响应性能。


文章作者: 朱丰华

文章链接: https://smart.52dixiaowo.com/blog/post-491.html

版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。

请求 一个

发表评论

相关推荐
朱丰华   |   1周前   |   sql · mysql · 字节 · 字符

mysql常用字段类型详解

43    评论    点赞
朱丰华   |   9个月前   |   php

php判断是否被iframe

246    评论    点赞
朱丰华   |   1年前   |   checkbox

checkbox默认传值问题

407    评论    点赞
朱丰华   |   1年前   |   linux

linux保持后台进程不被关闭nohup &

270    评论    点赞
朱丰华   |   1年前   |   git

git push -u参数是什么意思?--set-upstream

275    评论    点赞
朱丰华   |   1年前   |   git · hub · 仓库

go克隆并引用github仓库

161    评论    点赞
朱丰华   |   1年前   |   php · 缓存 · opcache

php 加速、提高并发opcache

222    评论    点赞
朱丰华   |   1年前   |   < · iframe

让iframe嵌入的视频自适应 (100%宽度)?

135    评论    点赞
朱丰华   |   1年前   |   js · 重复

js如何避免重复监听addEventListener事件?

146    评论    点赞
朱丰华   |   1年前   |   编译 · linux · 平台

Go 交叉编译 (跨平台编译)

181    评论    点赞
朱丰华   |   1年前   |   正则 · 表达

正则表达式,实现if...then...else

127    评论    点赞
朱丰华   |   1年前   |   mysql · 变量 · sql

MySQL实现行号-自定义变量

122    评论    点赞
朱丰华   |   1年前   |   变量 · mysql · sql · 用户

MySQL用户自定义变量

110    评论    点赞
朱丰华   |   1年前   |   sed · 文件

Shell 指定行处理head、tail、sed

166    评论    点赞
朱丰华   |   1年前   |   linux · 内容

linux环境下,对于一个大文件,如何查看其中某行的内容

79    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 字符串

如何在 PHP 中将字符串的第一个字母转换为大写

165    评论    点赞
朱丰华   |   1年前   |   linux · 文件 · 行数

linux 取得文件行数

59    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 正则

php正则表达式原生字符

94    评论    点赞
朱丰华   |   1年前   |   html · <

html浏览器当前tab标签切换时触发监听

116    评论    点赞
朱丰华   |   1年前   |   下载 · 请求

idm、浏览器下载发送两次下载请求

154    评论    点赞
{{item.author_name}}   |   {{new Date(item.date*1000).log()}}   |   {{it}} ·

{{item.title}}

{{item.uv}}    评论    点赞