zoukankan      html  css  js  c++  java
  • Linux中ab工具的使用

    下载安装

    yum –y install httpd-tools

     

    下载安装完成后,可输入ab –V 命令来验证是否安装成功

     

    具体使用参数说明,可输入ab –help查看

     

    主要使用参数:

    -n:在测试会话中,所执行的请求个数,默认时,仅执行一个;表示请求的总数量

    -c:一次产生的请求个数,默认一次一个;表示请求的用户量;

    -t:指定每个请求的超时时间,默认是30秒

    使用
    简单请求:ab -n 1000 -c 10 http://study.163.com/
    具体详解(摘自网上)

    Server Software表示被测试的Web服务器软件名称。

    Server Hostname表示请求的URL主机名。

    Server Port表示被测试的Web服务器软件的监听端口。

    Document Path表示请求的URL中的根绝对路径,通过该文件的后缀名,我们一般可以了解该请求的类型。

    Document Length表示HTTP响应数据的正文长度。

    Concurrency Level表示并发用户数,这是我们设置的参数之一。

    Time taken for tests表示所有这些请求被处理完成所花费的总时间。

    Complete requests表示总请求数量,这是我们设置的参数之一。

    Failed requests表示失败的请求数量,这里的失败是指请求在连接服务器、发送数据等环节发生异常,以及无响应后超时的情况。如果接收到的HTTP响应数据的头信息中含有2XX以外的状态码,则会在测试结果中显示另一个名为“Non-2xx responses”的统计项,用于统计这部分请求数,这些请求并不算在失败的请求中。

    Total transferred表示所有请求的响应数据长度总和,包括每个HTTP响应数据的头信息和正文数据的长度。注意这里不包括HTTP请求数据的长度,仅仅为web服务器流向用户PC的应用层数据总长度。

    HTML transferred表示所有请求的响应数据中正文数据的总和,也就是减去了Total transferred中HTTP响应数据中的头信息的长度。

    Requests per second吞吐率,也叫QPS,计算公式:Complete requests/Time taken for tests

    Time per request用户平均请求等待时间,从用户角度看,完成一个请求所需要的时间。计算公式:Time token for tests/(Complete requests/Concurrency Level)。

    Time per requet(across all concurrent request)服务器完成一个请求的时间,计算公式:Time taken for tests/Complete requests,正好是吞吐率的倒数。
    也可以这么统计:Time per request/Concurrency Level。

    Transfer rate表示网络传输速度,计算公式:Total trnasferred/ Time taken for tests,这个统计很好的说明服务器的处理能力达到极限时,其出口宽带的需求量。

    对于大文件的请求测试,这个值很容易成为系统瓶颈所在。要确定该值是不是瓶颈,需要了解客户端和被测服务器之间的网络情况,包括网络带宽和网卡速度等信息。

    Percentage of requests served within a certain timems
    这部分数据用于描述每个请求处理时间的分布情况,比如以上测试,80%的请求处理时间都不超过2ms,这个处理时间是指前面的Time per request,即对于单个用户而言,平均每个请求的处理时间。

    这个表第一行表示有50%的请求都是在2ms内完成的,可以看到这个值是比较接近平均系统响应时间,以此类推。

    Connection Times (ms)

    Connection Times (ms)
                  min  mean[+/-sd] median  max
    Connect:        0    1  0.1      1      1
    Processing:    1    1  0.2      1      2
    Waiting:        1    1  0.2      1      2
    Total:          1    2  0.2      2      2

    这几行组成的表格主要是针对响应时间也就是第一个Time per request进行细分和统计。一个请求的响应时间可以分成网络链接(Connect),系统处理(Processing)和等待(Waiting)三个部分。表中min表示最小值; mean表示平均值;[+/-sd]表示标准差(Standard Deviation) ,也称均方差(mean square error),这个概念在中学的数学课上学过,表示数据的离散程度,数值越大表示数据越分散,系统响应时间越不稳定。 median表示中位数; max当然就是表示最大值了。

    需要注意的是表中的Total并不等于前三行数据相加,因为前三行的数据并不是在同一个请求中采集到的,可能某个请求的网络延迟最短,但是系统处理时间又是最长的呢。所以Total是从整个请求所需要的时间的角度来统计的。这里可以看到最慢的一个请求花费了2ms(即100% 2 (longest request))。

    使用get请求方式

    ab -n 1000 -c 10 http://10.82.25.182/CMS/main/login.do?_dc=1591683329140

    使用post请求方式

    1)  新建json文档,将要发送的内容保存在json文档中

     

    2)  将文件放在运行路径下

     

    3)  输入命令:

    ab -p post.json -T application/json -c 10 -n 100 http://10.82.25.183/spms/CMS/main/sso/

    login.do

    其他的使用可以继续百度学习~



  • 相关阅读:
    怎么查看京东店铺的品牌ID
    PPT编辑的时候很卡,放映的时候不卡,咋回事?
    codevs 1702素数判定2
    codevs 2530大质数
    codevs 1488GangGang的烦恼
    codevs 2851 菜菜买气球
    hdu 5653 Bomber Man wants to bomb an Array
    poj 3661 Running
    poj 1651 Multiplication Puzzle
    hdu 2476 String Painter
  • 原文地址:https://www.cnblogs.com/kevintest/p/13072694.html
Copyright © 2011-2022 走看看