Apache HTTP server benchmarking tool(ab)-服务器基准测试工具一文上手
Posted 李子捌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache HTTP server benchmarking tool(ab)-服务器基准测试工具一文上手相关的知识,希望对你有一定的参考价值。
有经典,有干货,微信搜索【李子捌】关注这个每日更新的程序员。
简介
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
- httpd-ahssl.conf
- 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…(上图) |
有经典,有干货,微信搜索【李子捌】关注这个每日更新的程序员。
以上是关于Apache HTTP server benchmarking tool(ab)-服务器基准测试工具一文上手的主要内容,如果未能解决你的问题,请参考以下文章