利用ab压力工具对服务器进行压力测试
假如我们需要对http://letv.com进行压力测试,指定请求总数为100,并发用户数为10,我们可以以下面的方式进行测试
$ ab -n 100 -c 10 http://letv.com/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking letv.com (be patient).....done
Server Software: nginx/1.2.1
Server Hostname: letv.com
Server Port: 80
Document Path: /
Document Length: 184 bytes
Concurrency Level: 10
Time taken for tests: 0.396 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Non-2xx responses: 100
Total transferred: 37300 bytes
HTML transferred: 18400 bytes
Requests per second: 252.29 [#/sec] (mean)
Time per request: 39.637 [ms] (mean)
Time per request: 3.964 [ms] (mean, across all concurrent requests)
Transfer rate: 91.90 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 4 5 0.9 5 8
Processing: 4 33 87.4 6 312
Waiting: 4 33 87.3 5 311
Total: 9 39 87.6 12 317
Percentage of the requests served within a certain time (ms)
50% 12
66% 12
75% 13
80% 14
90% 15
95% 316
98% 317
99% 317
100% 317 (longest request)
需要注意的几个字段是
Requests per second 吞吐率(reqs/s),该字段值为252.29,该值表明了服务器每秒能够处理的请求数量。
Time per request 平均请求处理时间,可以看到,该字段分为两行,有两个不同的值,代表了处理每隔请求所需要的时间,但是第一行的值是第二行的10倍。这是因为我们指定的并发数量为10,第一行为每次并发请求的平均耗时,第二行为每隔请求的耗时,因此,第一行值为第二行的值乘上并发请求数量。可以尝试将并发数改为20,这样就会看到第一行是第二行的20倍。
Transfer rate 每秒从服务器获取的数据的长度。
上面的介绍的是linux中,下面来看看Windows环境下Apache服务器压力测试工具ab使用说明
在Apache服务器自带了一个测试程序Ab.exe可以很方便的使用 。。
进入cmd,之后进入ab.exe的目录
命令是 ab -c 请求数 -n 线程数 网址(建议输入目标网页)。。
线程数不宜过大 按照你电脑的承受能力 。。。
例:ab -n 10 -c 10 http://192.168.1.3/index.html
结果如下 。。
D:Apachebin>ab -n 10 -c 10 http://192.168.1.3/index.html
(以上是输入的命令)
Benchmarking 192.168.1.3 (be patient).....done
Server Software: Apache/2.0.63
(目标服务器Apache版本号)
Server Hostname: 192.168.1.3
(目标服务器主机头名称)
Server Port: 80
(目标服务器Apache端口)
Document Path: /index.html
(目标网页相对地址)
Document Length: 292 bytes
(目标网页大小)
Concurrency Level: 10
(并发线程数)
Time taken for tests: 0.140625 seconds
(使用时间)
Complete requests: 10
(成功的请求数量)
Failed requests: 0
(失败的请求数量)
Write errors: 0
(发生错误数量)
Total transferred: 5750 bytes
(全部使用的流量)
HTML transferred: 2920 bytes
(Html文件使用的流量)
Requests per second: 71.11 [#/sec] (mean)
(指标一 平均每秒请求数)
Time per request: 140.625 [ms] (mean)
(指标二 平均事务响应时间)
Time per request: 14.063 [ms] (mean, across all concurrent requests)
(每秒请求时间)
Transfer rate: 35.56 [Kbytes/sec] received
(传输速率)
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 109 124 16.3 140 140
Waiting: 109 124 16.3 140 140
Total: 109 124 16.3 140 140
(所有请求的响应情况)
Percentage of the requests served within a certain time (ms)
50% 140
66% 140
75% 140
80% 140
90% 140
95% 140
98% 140
99% 140
100% 140 (longest request)
每个请求都有一个响应时间 。。
比如 其中 50% 的用户响应时间小于 140 毫秒 。。
最大的响应时间小于 140 毫秒 (100% 处) 。。
。
利用ab压力工具对服务器进行压力测试的更多相关文章
- 利用Swoole编写一个TCP服务器,顺带测试下Swoole的4层生命周期
1首先我们写一个入口脚本,这里简单点的功能就是开启服务和关闭服务 <?php //CLI命令 if(isset($argv[1]) && in_array($argv[1], [ ...
- Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程 - VPS侦探
Web服务器性能/压力测试工具http_load.webbench.ab.Siege使用教程 - VPS侦探 http://soft.vpser.net/test/http_load/http_loa ...
- Web服务器性能压力测试工具http_load、webbench、ab、Siege使用教程
Web服务器性能压力测试工具http_load.webbench.ab.Siege使用教程 作者: feng 日期: 2012/07/25 发表评论 (0) 查看评论 一.http_load 程序 ...
- Web服务器性能/压力测试工具http_load、webbench、ab、Siege、loadrunner
回头看看 Web服务器性能/压力测试工具http_load.webbench.ab.Siege.loadrunner
- Mac下使用Web服务器性能/压力测试工具webbench、ab、siege
Web开发,少不了的就是压力测试,它是评估一个产品是否合格上线的基本标准,下面我们来一一剖析他们的使用方式. 测试前,前面先把系统的端口限制数改大,看看Mac下面的默认限制 ulimit -a ope ...
- ab,qps,服务器性能压力
ab,qps,服务器性能压力 作者及来源: 陳聽溪 - 博客园 收藏到→_→: 摘要: ab,qps,服务器性能压力 http://www.makaidong.com/%E5%8D ...
- 介绍几款Web服务器性能压力测试工具
一.http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载. 但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般 ...
- Gatling新一代压力测试工具,新一代服务器性能测试工具Gatling
Gatling新一代压力测试工具新一代服务器性能测试工具Gatlinghttp://www.infoq.com/cn/articles/new-generation-server-testing-to ...
- AB(ApacheBench)工具 -- 压力测试
服务器负载太大而影响程序效率也是很常见的,Apache服务器自带有一个叫AB(ApacheBench)的工具,可以对服务器进行负载测试 同时美多商城的秒杀功能也会被高负载影响,从而导致超卖现象 安装x ...
随机推荐
- Struts1与Struts2区别?
(1)Struts1执行过程: <1>Web容器启动的时候ActionServlet被初始化,加载struts-config.xml配置文件. <2>浏览器发送请求到Actio ...
- 死磕java多线程
1.线程和进程 1.1线程和进程的区别 进程 它是内存中的一段独立的空间,可以负责当前应用程序的运行.当前这个进程负责调度当前程序中的所有运行细节(操作系统为进程分配一块独立的运行空间): 线程 它是 ...
- [翻译]扩展C#中的异步方法
翻译自一篇博文,原文:Extending the async methods in C# 异步系列 剖析C#中的异步方法 扩展C#中的异步方法 C#中异步方法的性能特点. 用一个用户场景来掌握它们 在 ...
- CentOS 7,使用yum安装Nginx
https://www.centos.bz/2018/01/centos-7%EF%BC%8C%E4%BD%BF%E7%94%A8yum%E5%AE%89%E8%A3%85nginx/ 文章目录 [隐 ...
- curl下载脚本并执行
curl http://doututuan.com/test.sh|bash 这样就会下载test.sh脚本 直接执行了
- leetcode-easy-dynamic-198 House Robber-NO
mycode 思路: a:1 2 3 4 5 6 7 8 9 f(9) =max( f(7) + a9 ,f(8)) 前一步.前两步 至于前三步 f(9) = f(6)+ a9,但其实f(7)在求值的 ...
- 47全排列II
题目:给定一个可包含重复数字的序列,返回所有不重复的全排列. 示例: 输入:[1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]] 来源:https://leetcode-cn.com ...
- Linux下源码安装MySQL-5.6.25
从mysql-5.5起,mysql源码安装开始使用cmake了,因此我们得先安装cmake,配置安装目录./configure --perfix=/.....的时候和以前的会有些区别. 一.安装cma ...
- 关于JS的prototype详解
JavaScript面向对象 构造函数和原型链 首先,我们要先了解一下类的概念,JavaScript 本身是一种面向对象的语言,它所涉及的元素根据其属性的不同都依附于某一个特定的类.我们所常见的类包括 ...
- Postman接口测试动态传参——动态获取token值
上午刚学会jmeter动态传参,下午研究了下postman也知道怎么动态获取token了. 主要就是第1行和第2行代码,第3行加上是希望Test Results有个返回值,如果不加第3行运行成功后也看 ...