apache-ab并发负载压力测试

简介:

ab命令原理 
Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx、lighthttp、IIS等其它Web服务器的压力。 
ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载,因此是某些DDOS攻击之必备良药,老少皆宜。自己使用也须谨慎。否则一次上太多的负载,造成目标服务器直接因内存耗光死机,而不得不硬重启,得不偿失。

在带宽不足的情况下,最好是本机进行测试,建议使用内网的另一台或者多台服务器通过内网进行测试,这样得出的数据,准确度会高很多。远程对web服务器进行压力测试,往往效果不理想(因为网络延时过大或带宽不足)

下载安装: 
http://mirror.bit.edu.cn/apache//httpd/binaries/win32/?C=M;O=A 
找到 httpd-2.2.21-win32-x86-no_ssl.msi  

参数文档: 
http://httpd.apache.org/docs/2.2/programs/ab.html

 

运行: 
在Windows系统下,打开cmd命令行窗口,定位到apache安装目录的bin目录下 
cd C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin

键入命令: 
 ab -n 800 -c 800  http://192.168.0.10/ 
(-n发出800个请求,-c模拟800并发,相当800人同时访问,后面是测试url)

ab -t 60 -c 100 http://192.168.0.10/ 
 在60秒内发请求,一次100个请求。 
  
//如果需要在url中带参数,这样做 
ab -t 60 -c 100 -T "text/plain" -p p.txt http://192.168.0.10/hello.html 
p.txt 是和ab.exe在一个目录 
p.txt 中可以写参数,如  p=wdp&fq=78 
 

ab并发负载压力测试

ab并发负载压力测试-曾祥展 
结果参数解释: 
This is ApacheBench, Version 2.3 <$Revision: 655654 $> 
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ 
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.0.10 (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 
Finished 800 requests


Server Software:        Microsoft-HTTPAPI/2.0 
Server Hostname:        192.168.0.10 
Server Port:            80

Document Path:          / 
Document Length:        315 bytes       HTTP响应数据的正文长度

Concurrency Level:      800 
Time taken for tests:   0.914 seconds    所有这些请求处理完成所花费的时间 
Complete requests:      800             完成请求数 
Failed requests:        0                失败请求数 
Write errors:           0                
Non-2xx responses:      800 
Total transferred:      393600 bytes     网络总传输量 
HTML transferred:       252000 bytes     HTML内容传输量 
Requests per second:    875.22 [#/sec] (mean) 吞吐量-每秒请求数 
Time per request:       914.052 [ms] (mean)  服务器收到请求,响应页面要花费的时间 
Time per request:       1.143 [ms] (mean, across all concurrent requests) 并发的每个请求平均消耗时间 
Transfer rate:          420.52 [Kbytes/sec] received 平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题


网络上消耗的时间的分解: 
Connection Times (ms) 
              min  mean[+/-sd] median   max 
Connect:        0    1   0.5      1       3 
Processing:   245  534 125.2    570     682 
Waiting:       11  386 189.1    409     669 
Total:        246  535 125.0    571     684

整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间 
其中 50% 的用户响应时间小于 571 毫秒 
80 % 的用户响应时间小于 652 毫秒 
最大的响应时间小于 684 毫秒 
Percentage of the requests served within a certain time (ms) 
  50%    571 
  66%    627 
  75%    646 
  80%    652 
  90%    666 
  95%    677 
  98%    681 
  99%    682 
 100%    684 (longest request)



    本文转自曾祥展博客园博客,原文链接:http://www.cnblogs.com/zengxiangzhan/archive/2012/12/07/2807141.html,如需转载请自行联系原作者


相关文章
|
新零售 Cloud Native Devops
坚持伙伴优先,阿里云颁发合作伙伴年度奖项
2023年4月26日,2023阿里云合作伙伴颁奖盛典在南京举行,阿里云向核心伙伴颁发年度奖项。
坚持伙伴优先,阿里云颁发合作伙伴年度奖项
数智洞察丨剖析数智化系统思维:顶层设计和数字治理
数智洞察丨剖析数智化系统思维:顶层设计和数字治理
722 0
|
9月前
|
机器学习/深度学习 人工智能 运维
使用AI进行系统调优:给系统装上“智能大脑”
使用AI进行系统调优:给系统装上“智能大脑”
383 10
|
安全
SFX的妙用——如何在不安装软件的情况下打开自定义格式文件?
【8月更文挑战第31天】SFX(自解压文件)能在无需安装特定软件的情况下打开自定义格式文件。通过将所需程序与资源打包进 SFX 文件,用户可轻松解压并运行文件。此方法需确定所需程序、创建 SFX 文件并分发给用户,同时需注意合法性、兼容性和安全性问题,以确保文件正常且安全地运行。这为用户提供了便捷的解决方案。
780 7
|
存储 Kubernetes API
在K8S中,PVC创建和挂载失败原因有哪些?
在K8S中,PVC创建和挂载失败原因有哪些?
|
11月前
|
云安全 人工智能 安全
云安全中心2.0持续演进:防护体系全面化、智能化、轻量化
云安全中心2.0持续演进,防护体系全面化、智能化、轻量化。本次分享由阿里云高级安全产品专家梁雷介绍,涵盖四大方面:云上安全风险趋势与问题、一体化升级方案、客户应用场景及普惠政策。云安全中心从主机工作负载单体防护升级为提供事前、事中、事后的一体化安全运营,新增Serverless形态的云工作负载防护、多云产品检测修复能力、零资源占用的Agentless检测等。同时推出多项免费试用和降价策略,助力用户提升云上安全防护水平。
275 4
|
12月前
|
敏捷开发 监控 数据可视化
项目仪表盘的妙用:让管理更清晰、更高效、更智能
项目仪表盘是现代项目管理中的重要工具,提供实时数据、多维分析及高度定制的可视化界面,帮助管理者快速决策、优化资源分配、提高团队协作效率和项目可控性。推荐的工具包括板栗看板、Jira、Trello、Asana 和 ClickUp,它们各有特色,适用于不同规模和类型的团队。
473 4
|
存储 JSON Java
细谈 Linux 中的多路复用epoll
大家好,我是 V 哥。`epoll` 是 Linux 中的一种高效多路复用机制,用于处理大量文件描述符(FD)事件。相比 `select` 和 `poll`,`epoll` 具有更高的性能和可扩展性,特别适用于高并发服务器。`epoll` 通过红黑树管理和就绪队列分离事件,实现高效的事件处理。本文介绍了 `epoll` 的核心数据结构、操作接口、触发模式以及优缺点,并通过 Java NIO 的 `Selector` 类展示了如何在高并发场景中使用多路复用。希望对大家有所帮助,欢迎关注威哥爱编程,一起学习进步。
251 6
|
数据采集 JSON API
使用Python获取B站视频并在本地实现弹幕播放功能
使用Python获取B站视频并在本地实现弹幕播放功能
454 0
|
SQL 监控 Oracle
DynaTrace应用监控工具安装说明V1.0
DynaTrace是一款应用监控工具,通过安装服务器端、客户端和代理,可以监测应用系统性能并快速定位故障,同时提供用户响应时间和事务处理过程的详细报告。
317 0