ab命令 是一个测试你 Apache http 服务器的工具,你可以通过这个工具,指定一个单位时间内向 apache 发出的请求数量来看看你的 Apache 和机器配合的性能如何

ab的原理 :ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。

centos:yum install httpd-tools -y

ubuntu:apt install httpd-tools -y

二、命令格式

-n  即requests,用于指定压力测试总共的执行次数。
-c  即concurrency,用于指定的并发数。
-t  即timelimit,等待响应的最大时间(单位:秒)。
-b  即windowsize,TCP发送/接收的缓冲大小(单位:字节)。
-p  即postfile,发送POST请求时需要上传的文件,此外还必须设置-T参数。
-u  即putfile,发送PUT请求时需要上传的文件,此外还必须设置-T参数。
-T  即content-type,用于设置Content-Type请求头信息,例如:application/x-www-form-urlencoded,默认值为text/plain。
-v  即verbosity,指定打印帮助信息的冗余级别。
-w  以HTML表格形式打印结果。
-i  使用HEAD请求代替GET请求。
-x  插入字符串作为table标签的属性。
-y  插入字符串作为tr标签的属性。
-z  插入字符串作为td标签的属性。
-C  添加cookie信息,例如:"Apache=1234"(可以重复该参数选项以添加多个)。
-H  添加任意的请求头,例如:"Accept-Encoding: gzip",请求头将会添加在现有的多个请求头之后(可以重复该参数选项以添加多个)。
-A  添加一个基本的网络认证信息,用户名和密码之间用英文冒号隔开。
-P  添加一个基本的代理认证信息,用户名和密码之间用英文冒号隔开。
-X  指定使用的和端口号,例如:"126.10.10.3:88"。
-V  打印版本号并退出。
-k  使用HTTP的KeepAlive特性。
-d  不显示百分比。
-S  不显示预估和警告信息。
-g  输出结果信息到gnuplot格式的文件中。
-e  输出结果信息到CSV格式的文件中。
-r  指定接收到错误信息时不退出程序。
-h  显示用法信息,其实就是ab -help。

三、命令使用场景

对api接口地址 https://192.168.31.231:8282/help 进行,并发用户100,1000次请求的压力测试

(GET方式)

ab -c 100 -n 1000  https://192.168.31.231:8282/help

(POST方式)

ab -c 100 -n 1000 -p postfile.ab https://192.168.31.231:8282/help
Server Software:        web服务器软件及版本
Server Hostname:        请求的地址
Server Port:            请求的端口
Document Path:          请求的页面路径
Document Length:        页面大小
Concurrency Level:      并发数
Time taken for tests:   测试总共花费的时间
Complete requests:      完成的请求数
Failed requests:        失败的请求数
Write errors:           写入错误
Total transferred:      总共传输字节数,包含http的头信息等
HTML transferred:       html字节数,实际的页面传递字节数
Requests per second:    每秒处理的请求数,服务器的吞吐量(重要)
Time per request:       平均数,用户平均请求等待时间
Time per request:       服务器平均处理时间
Transfer rate:          平均传输速率(每秒收到的速率)
首先确定下做 压力 测试的工具和性能的监控工具,这个压测的工具使用的是 ab 、监控工具使用的是nmon。看下 linux 主机上的ulimit-n的数据是多少,为改动过的是1024,最好要改的大一点。这个是 linux 下最大线程数,如果过小的话无法进行大并量的测试。   首先确定下做 压力 测试的工具和性能的监控工具,这个压测的工具使用的是 ab 、监控工具使用的是nmon。   看下 linux 主机上的ulimit-n的数据是多少,为改动过的是1024,最好要改的大一点。这个是 linux 下最大线程数,如果过小的话无法进行大并量的测试。 ab 经行 压力 测试时的脚本我用的形式为:   1.(get方式)./ ab -n
ab 是apachebench命令的缩写。 ab 是apache 自带 压力 测试工具 ab 非常实用,它不仅可以对apache 服务器 进行网站访问 压力 测试,也可以对或其它类型的 服务器 进行 压力 测试。比如nginx、tomcat、IIS等。 ab 的原理 ab 的原理: ab 命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试a... ab 是apachebench命令的缩写。 ab 是apache 自带 压力 测试工具 ab 非常实用,它不仅可以对apache 服务器 进行网站访问 压力 测试,也可以对或其它类型的 服务器 进行 压力 测试。比如nginx、tomcat、IIS等 2. ab 的原理 ab 的原理: ab 命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载 压力 ,也可以测试nginx、lighthttp、tomcat、IIS等其它Web 服务器