Apache的ab工具模拟高并发

window 本地测试

切换到apache/bin目录下
运行命令:

ab -r -n 1000 -c 900 http://localhost:8099/api/testRedis
//其中-n表示请求数,-c表示并发数
//其余命令请参见 http://apache.jz123.cn/programs/ab.html

注意:
1.本地测试不要配置为www.~~之类的虚拟域名,可以配置为localhost多端口
2.Test aborted after 10 failures ;apr_socket_connect()(730061)
遇到这种情况一般是你开的并发数量太多了,如此大的请求就会挂掉,不过还是有补救措施的,可以通过增加并发数上限解决这个问题,步骤如下:

1、停止Apache服务;

2、找到apache/conf/httpd.conf文件,用文本编辑器打开找到这两行:# Server-pool management
(MPM specific)# Include
conf/extra/httpd-mpm.conf把第二行include…这行的注释去掉。

3、找到apache/conf/extra/httpd-mpm.conf文件,打开,找到: ThreadsPerChild 150MaxRequestsPerChild
0把上面的150调大,Windows下最大为1920.

4、重新启动Apache服务.

3.上面两部配置完还有问题 ,不妨把localhost换成127.0.0.1运行

示例:

C:\wamp64\bin\apache\apache2.4.39\bin>ab -r -n 1000 -c 900 http://127.0.0.1:8099/api/testRedis
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to 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
Completed 1000 requests
Finished 1000 requests


Server Software:        Apache/2.4.39
Server Hostname:        127.0.0.1
Server Port:            8099

Document Path:          /api/testRedis
Document Length:        3 bytes

Concurrency Level:      900
Time taken for tests:   20.638 seconds
Complete requests:      1000
Failed requests:        2122
   (Connect: 0, Receive: 644, Length: 834, Exceptions: 644)
Non-2xx responses:      190
Total transferred:      5973602 bytes
HTML transferred:       5868649 bytes
Requests per second:    48.45 [#/sec] (mean)
Time per request:       18574.200 [ms] (mean)
Time per request:       20.638 [ms] (mean, across all concurrent requests)
Transfer rate:          282.66 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.3      0       4
Processing:   295 16675 5459.3  20285   20388
Waiting:        0 3958 6273.7      0   20229
Total:        295 16675 5459.3  20285   20388

Percentage of the requests served within a certain time (ms)
  50%  20285
  66%  20309
  75%  20320
  80%  20328
  90%  20345
  95%  20354
  98%  20360
  99%  20363
 100%  20388 (longest request)

这段展示的是web服务器的信息,可以看到服务器采用的是Apache,域名是127.0.0.1,端口是8099
在这里插入图片描述

这段展示了压力测试的几个重要指标

Concurrency Level: 100 //并发请求数
Time taken for tests: 50.872 seconds//整个测试持续的时间
Complete requests: 1000 //完成的请求数
Failed requests: 0 //失败的请求数
Total transferred: 13701482 bytes //整个场景中的网络传输量 HTML
transferred: 13197000 bytes //整个场景中的HTML内容传输量

Requests per second: 19.66 [#/sec] (mean)
//吞吐率,大家最关心的指标之一,相当于 LR 中的每秒事务数,后面括号中的 mean 表示这是一个平均值
Time per request: 5087.180 [ms] (mean)
//用户平均请求等待时间,大家最关心的指标之二,相当于 LR 中的平均事务响应时间,后面括号中的 mean 表示这是一个平均值
Time per request: 50.872 [ms] (mean, across all concurrent requests)
//服务器平均请求处理时间,大家最关心的指标之三

Transfer rate: 263.02 [Kbytes/sec] received
//平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题

在这里插入图片描述

这段是每个请求处理时间的分布情况,50%的处理时间在4930ms内,66%的处理时间在5008ms内…,重要的是看90%的处理时间。
响应情况
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值