以前安装好APACHE总是不知道该如何测试APACHE的性能,现在总算找到一个测试工具了。就是APACHE自带的测试工具AB(apache benchmark).在APACHE的bin目录下。
格式: ./ab [options] [http://]hostname[:port]/path
参数:
-n requests Number of requests to perform
//在测试会话中所执行的请求个数。默认时,仅执行一个请求
-c concurrency Number of multiple requests to make
//一次产生的请求个数。默认是一次一个。
-t timelimit Seconds to max. wait for responses
//测试所进行的最大秒数。其内部隐含值是-n 50000。它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。
-p postfile File containing data to POST
//包含了需要POST的数据的文件.
-T content-type Content-type header for POSTing
//POST数据所使用的Content-type头信息。
-v verbosity How much troubleshooting info to print
//设置显示信息的详细程度 - 4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。 -V 显示版本号并退出。
-w Print out results in HTML tables
//以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。
-i Use HEAD instead of GET
// 执行HEAD请求,而不是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)
//-C cookie-name=value 对请求附加一个Cookie:行。 其典型形式是name=value的一个参数对。此参数可以重复。
-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.
//-P proxy-auth-username:password 对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。
-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)
//-attributes 设置 属性的字符串.缺陷程序中有各种静态声明的固定长度的缓冲区。另外,对命令行参数、服务器的响应头和其他外部输入的解析也很简单,这可能会有不良后果。它没有完整地实现HTTP/1.x; 仅接受某些’预想’的响应格式。 strstr(3)的频繁使用可能会带来性能问题,即, 你可能是在测试ab而不是服务器的性能。
参数很多,一般我们用 -c 和 -n 参数就可以了. 例如:
./ab -c 1000 -n 1000 http://127.0.0.1/index.php
这个表示同时处理1000个请求并运行1000次index.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时间乘以并发请求数
相关推荐
AB测试优化策略是通过云眼A/B测试工具实现的,云眼AB测试工具使用方法包括计划、实施细节、结果分析等。AB测试理论是AB测试的基础,用户体验知识点和产品使用AB测试管理规范也是AB测试的重要组成部分。 知识点2:...
ab压力测试分析1 ab压力测试工具是Apache自带的一个功能强大且易用的压力测试工具,当安装完Apache时,就可以在bin下面找到ab。下面是对ab压力测试分析的详细说明: 1. ab命令参数解释 在使用ab工具时,需要指定...
1. **性能基准测试**:在新硬件或软件部署后,使用ab测试性能基线。 2. **负载测试**:模拟大量并发用户,检查服务器在高负载下的表现和稳定性。 3. **压力测试**:逐步增加并发用户,找出服务器崩溃的临界点。 4. *...
- 测试结果应结合服务器配置、硬件资源和当前负载来综合分析。 - 为了获得更准确的数据,可能需要多次测试并取平均值。 6. **Apache HTTP Server 2.4.17**: - 这是Apache服务器的一个特定版本,可能包含ab工具...
- ab测试结果受到网络环境、服务器配置、测试时的系统负载等因素影响,需结合实际情况分析。 - 高并发测试可能对服务器造成较大压力,建议在非生产环境或低峰时段进行。 - 结果分析时,除了关注性能指标外,还要...
### 三、ab测试结果解读 测试完成后,ab会输出一系列统计信息,包括: - **Requests per second**:每秒处理的请求数,是衡量服务器性能的重要指标。 - **Time per request**:每个请求的平均响应时间,包括网络...
在AB测试中,这种方法尤其有用,因为它可以实时地提供关于测试结果的洞察,并且能够适应不断变化的数据。 在AB测试中,我们通常比较两种或多种不同的变体(例如网页设计、广告策略或产品特性)来确定哪一种能带来更...
【AB测试工具】是一种在Windows环境下进行性能测试的实用程序,尤其...综上所述,AB测试工具是评估Web服务器性能的有效手段,通过合理设置参数并分析结果,我们可以更好地了解服务器的承载能力,为系统优化提供依据。
6. **数据分析**:简单的统计图表,如条形图和圆形图,可能出现在测试卷中,要求孩子能读懂图表并从中获取信息。 7. **解决问题**:培养学生的逻辑思维能力,通过解决实际问题来运用所学的数学知识,如购物问题、...
通过对比不同参数设置下的测试结果,你可以了解服务器在不同压力下的表现,进而优化服务器配置或应用程序代码,提升系统性能。 8. **注意事项**: - 当测试大型或生产环境时,务必确保你的操作不会对其他用户造成...
分析 A/B 测试结果电子商务网站介绍A/B 测试通常由数据分析师和数据科学家执行。 对于这个项目,我将努力了解电子商务网站运行的 A/B 测试的结果。 目标是通过这个笔记本来帮助公司了解他们是否应该实施新页面、保留...
7. 在进行性能优化时,AB测试结果可作为参考,但需要注意其局限性。AB测试通常只考虑HTTP层面的性能,而真实环境中的网络延迟、数据库交互等因素可能会影响最终结果。因此,实际应用中可能需要结合其他工具和方法,...
4. **性能指标**:测试结果会显示关键性能指标,如每秒完成请求数(Requests per second)、平均响应时间、成功率等,这些数据有助于评估服务器性能瓶颈。 5. **自定义请求头和URL**:允许添加自定义的HTTP头信息,...
结果分析 `ab`测试完成后,会输出一系列性能指标,包括: - 平均响应时间(Time per request) - 吞吐量(Requests per second) - 最大并发连接数 - 错误率 这些数据有助于评估服务器的性能瓶颈和优化方向。 ##...
- **实验管理**:包括样本计算、测试结果分析等环节。 - **衡量指标**:使用T检验或Z检验等统计方法,根据具体指标类型选择合适的方法。 #### 五、分流服务与埋点平台介绍 - **分流服务要求**:考虑到高并发需求,...
在荣誉资质方面,云眼是清华大数据产业联合会会员、信息产业部用户体验协会会员,并在2018年连续获得了多项重要荣誉,包括成为百度商业服务平台的AB测试服务商、阿里云天池众智计划成员,以及获得“中国企业产品服务...
AB实验现状介绍中提到,AB测试可以量化结果,说服力强,降低风险,抗干扰,符合科学原理,口径统一等优点。AB测试过程包括提出方案、实验设计与配置、代码开发、指标开发、实验数据分析等步骤。 埋点平台介绍中提到...
分析AB测试结果 概述 对于这个项目,我努力了解了由电子商务网站运行的A / B测试的结果。 我的目标是浏览笔记本,以帮助公司了解他们应该实施新页面,保留旧页面还是运行实验更长的时间来做出决定。 要完成第3个项目...
Ruby-Split是一个基于Rack的AB测试框架,它允许开发者在Web应用中轻松地实现A/B测试,以优化用户体验和转化率。Rack是Ruby世界中的一个基础中间件层,它使得构建Web应用和服务变得更加简单。Split框架充分利用了Rack...