压力测试-apachebench
压力测试-apachebench
1. 压力测试
压力测试的概念\定义:
性能测试Performance Test :是指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试;
压力测试 stress testing :是指通过测试系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试;
负载测试 Load Test :是指通过测试系统在资源超负荷情况下的表现,才以发现设计上的错误或验证系统的负载能力。
2. apachebench
ApacheBench(简称AB)是 Apache 的一款功能强大的测试工具,可以快速测试基于 HTTP 协议所有 Web 页面的最大负载压力,扩展性非常强。
2.1. 安装-windows
下载地址:https://www.apachelounge.com/download/
下载后是一个压缩包,解压进入bin目录。
cmd模式下执行ab
如果有提示信息即为正常状态。
2.2. 测试命令-get请示
# 按请求量测试
ab -n 10 -c 10 http://127.0.0.1/
# -n 总共10次请求
# -c 是 concurrency ,模拟10个并发用户,即发起10个并发请求
# 按请求时间测试
ab -t 10 -c 10 http://127.0.0.1/
# -t 是 timelimit 执行测试的时间,单位是秒
# -c 是 concurrency ,模拟10个并发用户,即发起10个并发请求
#######
# 命令说明:
# 通过 ab 工具模拟用户浏览器行为,Get请求
# 别再URL上缺少 http:// ,否者无法发起请求
结果分析:
E:\Apache24\bin>ab -n 3000 -c 50 http://192.168.199.129:9000/req_test
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Benchmarking 192.168.199.129 (be patient)
Completed 3000 requests
Finished 3000 requests
Server Software: Werkzeug/0.14.1
Server Hostname: 192.168.199.129
Server Port: 9000
Document Path: /req_test
Document Length: 27 bytes
Concurrency Level: 50 # 并发数
Time taken for tests: 27.518 seconds # 总耗时
Complete requests: 3000
Failed requests: 2951 # 失败数量,一般length可以忽略
(Connect: 0, Receive: 0, Length: 2951, Exceptions: 0)
Total transferred: 548002 bytes
HTML transferred: 86002 bytes
Requests per second: 109.02 [#/sec] (mean)
# 每秒平均请求数
Time per request: 458.632 [ms] (mean)
# 请求的平均时间
Time per request: 9.173 [ms] (mean, across all concurrent requests)
# 服务器处理请示的平均时间
Transfer rate: 19.45 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 3.0 1 73
Processing: 35 454 72.2 429 683
Waiting: 4 453 72.1 427 680
Total: 35 455 72.4 430 684
Percentage of the requests served within a certain time (ms)
50% 430
66% 457
75% 499
80% 518
90% 569
95% 592
98% 613
99% 628
100% 684 (longest request)
压力测试-apachebench的更多相关文章
- Web压力测试 ApacheBench(ab)
ApacheBench命令原理 ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试ngin ...
- Nginx负载均衡+代理+ssl+压力测试
一.Tomcat安装 1.下载jdk,Tomcat,解压到/usr/local/ 2.配置jdk环境: # vim /etc/profile export JAVA_HOME=/usr/local/j ...
- 使用 ApacheBench 进行轻量级压力测试
ApacheBench 是 Apache Http Server 附带的一个轻量级压力测试功能 先下载一个Apache Http Server :http://httpd.apache.org/ 解压 ...
- 【转】Web性能压力测试工具之ApacheBench(ab)详解
PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网 ...
- Web性能压力测试工具之ApacheBench(ab)详解
PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网 ...
- [转] Web性能压力测试工具之ApacheBench(ab)详解
PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网 ...
- 转:Web性能压力测试工具之ApacheBench(ab)详解
PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网 ...
- 【Linux】ApacheBench(ab)压力测试工具
AB的简介 ab是apachebench命令的缩写. ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试.比 ...
- apacheBench对网站进行压力测试
apacheBench对网站进行压力测试 分类: 学习 2014-02-19 10:35 4154人阅读 评论(1) 收藏 举报 apacheBench压力测试 Apache Benchmark下载 ...
随机推荐
- 2.springboot------微服务
什么是微服务? 微服务是一种架构风格,它要求我们在开发一个应用的时候,这个应用必须构建成一系列小服务的组合:可以通过http的方式进行互通.要说微服务架构,先得说说过去我们的单体应用架构. 单体应用架 ...
- hadoop学习笔记(十):hdfs在命令行的基本操作命令(包括文件的上传和下载和hdfs中的文件的查看等)
hdfs命令行 ()查看帮助 hdfs dfs -help ()查看当前目录信息 hdfs dfs -ls / ()上传文件 hdfs dfs -put /本地路径 /hdfs路径 ()剪切文件 hd ...
- spring 配置
在context中配置 如:在base-package指明一个包: <context:component-scan base-package="cn.edu.dao"/> ...
- codeforces Make The Fence Great Again(dp)
题目链接:http://codeforces.com/contest/1221/problem/D 题目要求ai ! = ai-1,草纸上推理一下可以发现每一个栅栏可以升高的高度无非就是 +0,+1, ...
- 刷题72. Edit Distance
一.题目说明 题目72. Edit Distance,计算将word1转换为word2最少需要的操作.操作包含:插入一个字符,删除一个字符,替换一个字符.本题难度为Hard! 二.我的解答 这个题目一 ...
- 线性筛-euler,强大O(n)
欧拉函数是少于或等于n的数中与n互质的数的数目 φ(1)=1(定义) 类似与莫比乌斯函数,基于欧拉函数的积性 φ(xy)=φ(x)φ(y) 由唯一分解定理展开显然,得证 精髓在于对于积性的应用: ){ ...
- 左偏树(p1456) 比较模板的一道题
题意:有n只猴子,m个操作,每一个操作,会让这两堆猴子里的最大的两只打架,打完之后,自身权值减半,然后他们会成为朋友 也就是会属于同一棵树,细节:如果选出的猴子在同一堆,就输出-1,然后下一个操作,不 ...
- 左偏树(p3377)
题目描述 如题,一开始有N个小根堆,每个堆包含且仅包含一个数.接下来需要支持两种操作: 操作1: 1 x y 将第x个数和第y个数所在的小根堆合并(若第x或第y个数已经被删除或第x和第y个数在用一个堆 ...
- bodyParser.urlencoded({ })里extended: true和false区别???
- Go_defer
package main import "fmt" func main() { //外围函数 /* defer的词义:"延迟","推迟" 在 ...