• linux 自带压力测试工具ab


    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:          平均传输速率(每秒收到的速率)

     

  • 相关阅读:
    Java如何从字符串中提取数字
    8-4交换排序-冒泡排序
    前端JS算法--快速排序
    Please master your time
    java之ArrayList和Vector源码分析
    电脑录屏快捷键是什么?电脑录屏是什么键
    Vatee万腾外汇市场新力量:vatee科技决策力
    Leetcode 90. 子集 II
    质量属性案例-架构真题(二十一)
    SQL Server实战二:创建、修改、复制、删除数据库表并加以数据处理
  • 原文地址:https://blog.csdn.net/icanflyingg/article/details/126380089