Linux ab 压力测试

Linux ab 压力测试

大家好,又见面了,我是全栈君。

 

ab 是 Apache 附带的接口压力测试功能,非常简单易用。在测试服务端程序自身运行时长和跨区测试接口反馈时长时非常有用。

下载

CentOS

$ sudo yum install -y httpd

Ubuntu

$ sudo apt install -y apache2-utils

 

使用

$ ab -c 10 -n 100 http://ip-api.com/json

参数

  • -c: 表示并发数
  • -n: 表示请求总数

结果

> $ ab -c 10 -n 100 http://ip-api.com/json
This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking ip-api.com (be patient).....done


Server Software:
Server Hostname:        ip-api.com
Server Port:            80

Document Path:          /json
Document Length:        306 bytes

Concurrency Level:      10
Time taken for tests:   6.184 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      46200 bytes
HTML transferred:       30600 bytes
Requests per second:    16.17 [#/sec] (mean)
Time per request:       618.369 [ms] (mean)
Time per request:       61.837 [ms] (mean, across all concurrent requests)
Transfer rate:          7.30 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    3   1.1      3       6
Processing:   528  572  58.4    550     889
Waiting:      528  571  58.7    549     888
Total:        531  575  58.3    552     891

Percentage of the requests served within a certain time (ms)
  50%    552
  66%    565
  75%    574
  80%    600
  90%    635
  95%    656
  98%    890
  99%    891
 100%    891 (longest request)

结果详解

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

Time per request 是我们测试接口时长时非常关键的字段。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111840.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 乘用车黑客手册(译)

    乘用车黑客手册(译)原书地址:http://opengarages.org/handbook/(部分与技术无关部分没有翻译)(本人萌新一只,有翻译的不准确的请各位前辈指教。)理解攻击面:如果你有软件渗透测试的经验

  • executescalar mysql_ExecuteScalar[通俗易懂]

    executescalar mysql_ExecuteScalar[通俗易懂]这两个答案和一点点思考使我想到了一个接近答案的东西。首先再澄清一下:该应用程序是用C#(2.0+)编写的,并使用ADO.NET与SQLServer2005进行通信。镜像设置是托管主体和镜像的两个W2k3服务器以及托管作为监视器的快速实例的第三个服务器。这样做的好处是,故障转移对于使用数据库的应用程序几乎是透明的,它将对某些连接引发错误,但从根本上讲一切都会很好地进行。是的,我们得到了奇怪的误报…

  • python数组_python在数组中查找指定元素

    python数组_python在数组中查找指定元素一,创建列表创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来:member=[‘a’,’b’,’c’,’1′,’2′,3]二,访问列表列表索引从0开始,使用下标索引来访问列表中的值:member=[‘a’,’b’,’c’,’1′,’2′,3]print“member[0]:”,member[0]输出结果:member[0]:a三,更新列表1.append方法可以在列表后方添加…

  • Jenkins的三种启动方式「建议收藏」

    Jenkins的三种启动方式「建议收藏」前置条件Java8环境,参考:点击查看。(所有)docker环境,下载(第二种)ApacheTomcat环境,下载(第三种)一、war包启动下载Jenkins的war包打开终端命令行,找到war所在的路径运行java-jarjenkins.war浏览器打开http://localhost:8080,将会看到下图结果二、docker启动打开命令行终端或power…

  • vagrant up报错:unable to mount VirtualBox shared folders

    vagrant up报错:unable to mount VirtualBox shared folders

  • 线程通信机制—共享内存:消息传递

    线程通信机制—共享内存:消息传递在并发编程中,我们必须考虑的问题时如何在两个线程间进行通讯。这里的通讯指的是不同的线程之间如何交换信息。目前有两种方式:1、共享内存2、消息传递(actor模型) 共享内存共享内存这种方式比较常见,我们经常会设置一个共享变量。然后多个线程去操作同一个共享变量。从而达到线程通讯的目的。例如,我们使用多个线程去执行页面抓取任务,我们可以使用一个共享变量count来记录任务

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号