当前位置:网站首页>Apache Bench(ab 压力测试工具)的安装与使用
Apache Bench(ab 压力测试工具)的安装与使用
2022-04-23 04:18:00 【猎人在吃肉】
1、Apache Bench 简介
Apache Bench 是 Apache 服务器自带的一个web压力测试工具,简称 ab 。
ab 非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等
2、ab的原理
ab的原理:ab命令会创建 多个并发 访问线程,模拟 多个访问者 同时对某一 URL地址 进行访问。
它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。
ab是一个命令行工具, ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机。
总的来说ab工具小巧简单,上手学习较快,可以提供需要的基本性能指标,但是没有图形化结果,不能监控。
3、ab 安装
3.1、linux yum 安装
yum install httpd-tools
或者
yum -y install httpd-tools
测试安装是否成功:
[root@vic html]# ab -V
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
3.2、win10 安装
首先,需要安装 Apache 服务器,下载地址:https://www.apachelounge.com/download/ ,
因为我是64位操作系统选,所以选择上面的一个压缩包,如下图所示:
下载完毕后,得到如下目录:
直接双击 abs.exe
是无法打开的。
正确的方式是打开cmd命令,进入Apache Bench 的bin目录,启动 abs.exe
,如下图所示:
4、参数介绍:
格式:ab [options] [http://]hostname[:port]/path
下面是参数
-n requests Number of requests to perform //本次测试发起的总请求数
-c concurrency Number of multiple requests to make //一次产生的请求数(或并发数)
-t timelimit Seconds to max. wait for responses //测试所进行的最大秒数,默认没有时间限制。
-r Don't exit on socket receive errors. // 抛出异常继续执行测试任务
-p postfile File containing data to POST //包含了需要POST的数据的文件,文件格式如“p1=1&p2=2”.使用方法是 -p 111.txt
-T content-type Content-type header for POSTing
// POST 数据所使用的 Content-type 头信息,如 -T “application/x-www-form-urlencoded” 。 (配合-p)
-v verbosity How much troubleshooting info to print
//设置显示信息的详细程度 – 4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。 -V 显示版本号并退出。
-C attribute Add cookie, eg. -C “c1=1234,c2=2,c3=3” (repeatable)
//-C cookie-name=value 对请求附加一个Cookie:行。 其典型形式是name=value的一个参数对。此参数可以重复,用逗号分割。
提示:可以借助session实现原理传递 JSESSIONID参数, 实现保持会话的功能,如-C ” c1=1234,c2=2,c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8″ 。
-w Print out results in HTML tables //以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。
-i Use HEAD instead of GET
5、使用示例
参数很多,一般我们用 -n
和 -c
参数就可以了。例如:
abs.exe -n 100 -c 20 测试网址
-n
后面的100,表示总共发出100 个请求;-c
后面的20 ,表示采用20 个并发(模拟 20 个人同时访问),- 后面的网址表示测试的目标URL。
对百度进行简单的压力测试: abs.exe -n 100 -c 20 https://www.baidu.com/
运行结果:
Document Path:测试页面
Document Length: 页面大小
Concurrency Level: 测试的并发数
Time taken for tests:整个测试持续的时间
Complete requests:完成的请求数量
Failed requests: 失败的请求数量
Total transferred: 整个过程中的网络传输量
HTML transferred: 整个过程中的HTML内容传输量
Requests per second: 最重要的指标之一,相当于LR中的每秒事务数,后面括号中的mean表示这是一个平均值
Time per request: 最重要的指标之二,相当于LR中的平均事务响应时间,后面括号中的mean表示这是一个平均值
Time per request: 每个连接请求实际运行时间的平均值
Transfer rate: 平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
转载:
https://www.cnblogs.com/myvic/p/7703973.html
https://blog.csdn.net/weixin_39089928/article/details/87371792
版权声明
本文为[猎人在吃肉]所创,转载请带上原文链接,感谢
https://xiaojin21cen.blog.csdn.net/article/details/118188707
边栏推荐
- OpenCV----YOLACT实例分割模型推理
- Matlab reads multiple fig graphs and then combines them into one graph (in the form of sub graph)
- 一个函数秒杀2Sum 3Sum 4Sum问题
- 优麒麟 22.04 LTS 版本正式发布 | UKUI 3.1开启全新体验
- Go反射—Go语言圣经学习笔记
- C语言常用字符串处理函数
- Common string processing functions in C language
- Thought of reducing Governance -- detailed summary of binary search
- matlab讀取多張fig圖然後合並為一張圖(子圖的形式)
- Express中间件①(中间件的使用)
猜你喜欢
A new method for evaluating the quality of metagenome assembly - magista
STM32 upper μ C / shell transplantation and Application
[AI vision · quick review of NLP natural language processing papers today, No. 32] wed, 20 APR 2022
520.检测大写字母
Cause analysis of incorrect time of AI traffic statistics of Dahua Equipment Development Bank
Matlab reads multiple fig graphs and then combines them into one graph (in the form of sub graph)
Express middleware ① (use of Middleware)
指纹Key全国产化电子元件推荐方案
为什么推荐你学嵌入式
[AI vision · quick review of today's sound acoustic papers, issue 2] Fri, 15 APR 2022
随机推荐
单极性非归零NRZ码、双极性非归零NRZ码、2ASK、2FSK、2PSK、2DPSK及MATLAB仿真
TreeSet课后练习
无线充电全国产化电子元件推荐方案
优麒麟 22.04 LTS 版本正式发布 | UKUI 3.1开启全新体验
A function second kill 2sum 3sum 4sum problem
【李宏毅2022 机器学习春】hw6_GAN(不懂..)
【BIM+GIS】ArcGIS Pro2.8如何打开Revit模型,BIM和GIS融合?
Retrieval question answering system baseline
MYSQL50道基础练习题
php导出Excel表格
Express middleware ② (classification of Middleware)
eksctl 部署AWS EKS
小红书被曝整体裁员20%,大厂之间内卷也很严重
MYSQL去重方法汇总
[AI vision · quick review of today's sound acoustic papers, issue 2] Fri, 15 APR 2022
Mysql---数据读写分离、多实例
UDP protocol and TCP protocol
AWS EKS 部署要点以及控制台与eksctl创建的差异
阿里云IoT流转到postgresql数据库方案
Understand the gut organ axis, good gut and good health