Apache HTTP server benchmarking tool(ab)

举报
李子捌 发表于 2021/11/24 20:09:23 2021/11/24
【摘要】 简介ab是一个Apache Http服务器基准测试工具。它可以测试HTTP服务器每秒最多可以处理多少请求。如果测试的是web应用服务,这个结果可以转换成整个应用每秒可以满足多少请求。缺点这是一个非常简单的工具,用途比较有限,只能针对单个URL进行尽可能快的压力测试。Windows下如何下载安装(Linux安装十分简单)Apache HTTP server benchmarking tool(...

简介

ab是一个Apache Http服务器基准测试工具。它可以测试HTTP服务器每秒最多可以处理多少请求。如果测试的是web应用服务,这个结果可以转换成整个应用每秒可以满足多少请求。

缺点

这是一个非常简单的工具,用途比较有限,只能针对单个URL进行尽可能快的压力测试。


Windows下如何下载安装(Linux安装十分简单)

Apache HTTP server benchmarking tool(ab)下载地址




资源 2.4版本

📎httpd-2.4.48-o111k-x64-vc15.zip


解压移动至C盘


管理员身份运行CMD,进入bin目录,执行httpd -k install,将Apache安装为一个服务。

启动报错 443端口被占用(每个人遇到的问题可能不一样,耐心解决网上都有解决问题的办法呀!)

什么是443端口

443端口即网页浏览端口,主要是用于HTTPS服务,是提供加密和通过安全端口传输的另一种HTTP。在一些对安全性要求较高的网站,比如银行、证券、购物等,都采用HTTPS服务,这样在这些网站上的交换信息,其他人抓包获取到的是加密数据,保证了交易的安全性。网页的地址以https://开始,而不是常见的http://。


解决办法分别修改conf\extra目录下的两个配置文件中绑定的端口为444/442

  1. httpd-ahssl.conf
  2. httpd-ssl.conf


netstat-ano 查看端口占用情况,发现443确实被占用了,我们选择一个在这里面未被使用的端口



修改配置文件conf\httpd.conf,默认端口80改为8080(或其他未占用的端口)


在服务中右键启动服务


访问安装地址http://localhost:8080/,看到如下页面则访问成功




参数说明

详细内容请查看官网文档ab参数说明官网


部分常用参数说明

参数

说明

-n

测试会话中执行请求的根数,默认为1

-c

一次产生的请求个数,默认1(并发请求数)

-t

测试所持续的最大时间(秒),其内部隐含值(-n 50000)。可以用来对某个测试制定一个固定的时间范围,默认,没有时间限制。

-p

需要POST的数据的文件

-T

POST数据所使用的Content-type头信息

-v

设置显示信息的详细程度 - 4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。 -V 显示版本号并退出。

-w

以HTML表的格式输出结果。默认是白色背景的两列宽度的一张表。

-i

执行HEAD请求,而不是GET

-C

cookie-name=value 对请求附加一个Cookie:行。name=value的一个参数对,此参数可以重复。

-P

proxy-auth-username:password 对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送

输出代码说明

结合一个输出样例作说明,ab -c 10 -n 10000 http://localhost:8888/test.html

输出key

输出值

说明

Server Software

Liziba

服务返回Server的值

Server Hostname

localhost

服务器主机名

Server Port

8888

服务器端口

Document Path

/test.html

测试的页面文档地址

Document Length

242313 bytes

文档大小

Concurrency Level

10

并发数

Time taken for tests

2.661 seconds

整个测试持续时间

Complete requests

10000

完成的请求数量

Failed requests

0

失败的请求数量

Total transferred

2423880000 bytes

整个场景中的网络传输量

HTML transferred

2423130000 bytes

整个场景中HTML的网络传输量

Requests per second

3757.39 [#/sec] (mean)

每秒完成请求(每秒事务数),重点指标,mean表示平均值

Time per request

2.661 [ms] (mean)

平均事务响应时间,mean表示平均值

Time per request

0.266 [ms] (mean, across all concurrent requests)

每个请求实际运行时间的平均值

Transfer rate

889400.26 [Kbytes/sec] received

平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题

Connection Times (ms)

min mean[+/-sd] median

......

网络上消耗时间的分解,具体请查看官网

Percentage of the requests served within a certain time (ms)

......

整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间,其中50%响应时间小于3ms,66%的响应时间小于3ms...(上图)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。