当前位置: 首页 > news >正文

ab 压力测试 命令详解与结果分析

ab(apache benchmark) —— apache自带的一个测试工具
一般把apache压力测试称为AB测试. ab工具的位置在apachebin目录里.ab的使用是这样的:  
/usr/local/apache/bin/ab 

Usage: ./ab [options] [http://]hostname[:port]/path 
Options are: 
    -n requests     Number of requests to perform 
    -c concurrency  Number of multiple requests to make 
    -t timelimit    Seconds to max. wait for responses 
    -p postfile     File containing data to POST 
    -T content-type Content-type header for POSTing 
    -v verbosity    How much troubleshooting info to print 
    -w              Print out results in HTML tables 
    -i              Use HEAD instead of GET 
    -x attributes   String to insert as table attributes 
    -y attributes   String to insert as tr attributes 
    -z attributes   String to insert as td or th attributes 
    -C attribute    Add cookie, eg. ’Apache=1234. (repeatable) 
    -H attribute    Add Arbitrary header line, eg. ’Accept-Encoding: gzip’ 
                    Inserted after all normal header lines. (repeatable) 
    -A attribute    Add Basic WWW Authentication, the attributes 
                    are a colon separated username and password. 
    -P attribute    Add Basic Proxy Authentication, the attributes 
                    are a colon separated username and password. 
    -X proxy:port   Proxyserver and port number to use 
    -V              Print version number and exit 
    -k              Use HTTP KeepAlive feature 
    -d              Do not show percentiles served table. 
    -S              Do not show confidence estimators and warnings. 
    -g filename     Output collected data to gnuplot format file. 
    -e filename     Output CSV file with percentages served 
    -h              Display usage information (this message) 

参数很多,一般我们用 -c  -n 参数就可以了例如

./ab -c 100 -n 10000 
http://127.0.0.1/index.php
 

这个表示同时处理100个请求并运行10000index.php文件.

 

 

 

 

 

ab -n 1000 -c 200 url

这个表示同时处理1000个请求并运行1000index.php文件.
#/usr/local/xiaobai/apache2054/bin/ab -c 1000 -n 1000 http://127.0.0.1/index.html.zh-cn.gb2312
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Finished 1000 requests


Server Software: Apache/2.0.54
//
平台apache 版本2.0.54
Server Hostname: 127.0.0.1
//
服务器主机名
Server Port: 80
//
服务器端口

Document Path: /index.html.zh-cn.gb2312
//
测试的页面文档
Document Length: 1018 bytes
//
文档大小

Concurrency Level: 1000
//
并发数
Time taken for tests: 8.188731 seconds
//
整个测试持续的时间
Complete requests: 1000
//
完成的请求数量
Failed requests: 0
//
失败的请求数量
Write errors: 0

Total transferred: 1361581 bytes
//
整个场景中的网络传输量
HTML transferred: 1055666 bytes
//
整个场景中的HTML内容传输量
Requests per second: 122.12 [#/sec] (mean)
//
大家最关心的指标之一,相当于 LR 中的 每秒事务数 ,后面括号中的 mean 表示这是一个平均值
Time per request: 8188.731 [ms] (mean)
//
大家最关心的指标之二,相当于 LR 中的 平均事务响应时间 ,后面括号中的 mean 表示这是一个平均值
Time per request: 8.189 [ms] (mean, across all concurrent requests)
//
每个请求实际运行时间的平均值
Transfer rate: 162.30 [Kbytes/sec] received
//
平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题

Connection Times (ms)
min mean[+/-sd] median max
Connect: 4 646 1078.7 89 3291
Processing: 165 992 493.1 938 4712
Waiting: 118 934 480.6 882 4554
Total: 813 1638 1338.9 1093 7785
//
网络上消耗的时间的分解,各项数据的具体算法还不是很清楚

Percentage of the requests served within a certain time (ms)
50% 1093
66% 1247
75% 1373
80% 1493
90% 4061
95% 4398
98% 5608
99% 7368
100% 7785 (longest request)
//
整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间,其中50%的用户响应时间小于1093 毫秒,60% 的用户响应时间小于1247 毫秒,最大的响应时间小于7785 毫秒

由于对于并发请求,cpu实际上并不是同时处理的,而是按照每个请求获得的时间片逐个轮转处理的,所以基本上第一个Time per request时间约等于第二个Time per request时间乘以并发请求数

相关文章:

  • 网站压力测试工具 Microsoft Web Application Stress Tool
  • win7 下安装 Microsoft Web Application Stress Tool
  • DEDECMS拿SHELL EXP
  • Loadrunner教程
  • 使用JMeter进行性能测试
  • Mysql跨库入侵介绍
  • web安全设置和目录权限设置介绍
  • oracle加固经验(个人补充及完善)
  • 域内计算机和用户获取
  • Access数据库注入高级玩法
  • 两个SQL语句判断数据库web是否分离
  • MYSQL注入中load_file()函数的进一步应用
  • load_file() MYSQL入侵时查看常用敏感信息文件
  • 渗透实战之安全设备踩点
  • MS SQL注入碰到关键词被过滤后的解决思路
  • @angular/forms 源码解析之双向绑定
  • [nginx文档翻译系列] 控制nginx
  • 5、React组件事件详解
  • canvas绘制圆角头像
  • css布局,左右固定中间自适应实现
  • css选择器
  • js
  • js递归,无限分级树形折叠菜单
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • mockjs让前端开发独立于后端
  • Node 版本管理
  • SQLServer之创建显式事务
  • use Google search engine
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 前端攻城师
  • 事件委托的小应用
  • 首页查询功能的一次实现过程
  • 双管齐下,VMware的容器新战略
  • 算法系列——算法入门之递归分而治之思想的实现
  • 学习HTTP相关知识笔记
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • $NOIp2018$劝退记
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (简单) HDU 2612 Find a way,BFS。
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • .NET CORE Aws S3 使用
  • .Net6使用WebSocket与前端进行通信
  • .net的socket示例
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • :中兴通讯为何成功
  • @Controller和@RestController的区别?
  • @EnableWebMvc介绍和使用详细demo
  • [C++]:for循环for(int num : nums)
  • [C++基础]-入门知识
  • [Django 0-1] Core.Email 模块
  • [DM复习]关联规则挖掘(下)