Apache 压力测试工具ab

简介:

在 Apache 有个叫 ab(ApacheBench) 的程序, 此程序是专门用在做压力测试用的软件. ApacheBench(ab) 用来测试 apache 执行效率,可以用来测试网站的压力工具.

ab 参数

ab 参数:

Usage: /usr/sbin/ab [options] [http[s]://]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 containg 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: zop'

§ 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

§ -s Use httpS instead of HTTP (SSL)

§ -h Display usage information (this message)

ab 使用

ab使用范例:
要执行 1000 次的 connection, 20 次的 concurrent (并行, 同时):

语法: ab -n 1000 -c 20 http://localhost/

产生出来的结果. 要注意的是以下几个:

§ Time taken for tests: 总共执行花了多久的时间.(以上 1000 次共多久)

§ Requests per second: 每秒平均可以处理多少个 connection.

下面是一个在Windows Azure虚拟机上做的测试,虚拟机性能不怎么样呀(和这个测试相比 ASP.NET Web Api vs Node.js Benchmark, Take 2)。

Microsoft Windows [Version 6.2.9200]

(c) 2012 Microsoft Corporation. All rights reserved.

D:runnabletest>ab -n 100000 -c 80 -p test.dat -T 'application/json' http://loc

alhost/

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 localhost (be patient)

Completed 10000 requests

Completed 20000 requests

Completed 30000 requests

Completed 40000 requests

Completed 50000 requests

Completed 60000 requests

Completed 70000 requests

Completed 80000 requests

Completed 90000 requests

Completed 100000 requests

Finished 100000 requests

Server Software: Microsoft-IIS/8.0

Server Hostname: localhost

Server Port: 80

Document Path: /

Document Length: 5269 bytes

Concurrency Level: 80

Time taken for tests: 112.004 seconds

Complete requests: 100000

Failed requests: 0

Write errors: 0

Non-2xx responses: 100000

Total transferred: 553000000 bytes

Total POSTed: 62200000

HTML transferred: 526900000 bytes

Requests per second: 892.83 #/sec

Time per request: 89.603 ms

Time per request: 1.120 ms

Transfer rate: 4821.62 [Kbytes/sec] received

                    542.32 kb/s sent

                    5363.94 kb/s total

Connection Times (ms)

          min  mean[+/-sd] median   max

Connect: 0 0 1.3 0 16

Processing: 0 89 65.5 63 532

Waiting: 0 89 65.5 63 532

Total: 0 89 65.5 63 532

Percentage of the requests served within a certain time (ms)

50% 63

66% 78

75% 94

80% 94

90% 141

95% 235

98% 344

99% 407

100% 532 (longest request)

本文来自云栖社区合作伙伴“doNET跨平台”,了解相关信息可以关注“opendotnet”微信公众号

目录
相关文章
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
2449 10
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1830 23
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
918 59
|
运维 测试技术 Linux
关于Stress 压力测试工具的介绍与使用
在日益复杂的计算环境中,保证系统的稳定性和性能成为了每个Linux管理员的核心任务。面对不断增长的数据量和业务需求,如何有效评估系统极限和潜在瓶颈? 压力测试工具:stress,成为了不可或缺的助手。这篇记录描述stress工具的使用方法及其在模拟真实负载中的实用性。
关于Stress 压力测试工具的介绍与使用
|
监控 测试技术 开发工具
移动端性能测试工具
移动端性能测试工具
1763 2
|
SQL 消息中间件 大数据
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
579 1
|
SQL 大数据 Apache
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
351 1
|
消息中间件 Kafka 测试技术
【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发送消息到Azure Event Hub的性能
【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发送消息到Azure Event Hub的性能
617 2
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
427 1
|
存储 监控 数据可视化
性能测试:主流性能剖析工具介绍
**性能剖析**是识别应用性能瓶颈的关键,涉及指标收集、热点分析、优化建议及可视化报告。常用工具有:**JConsole**监控JVM,**VisualVM**多合一分析,**JStack**分析线程,**FlameGraph**展示CPU耗时,**SkyWalking**分布式跟踪,**Zipkin**追踪服务延迟。这些工具助力开发人员提升系统响应速度和资源效率。

推荐镜像

更多