欢迎您来到,李雷博客 | PHP博客        登录  |  注册

用Apache的ab并发性能测试结果如何分析出最大并发数?

更新:2023-10-10 10:39:41
人气:620
来源:本站整理
A+

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

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

但是如何通过结果分析出AB测试的报告,找到服务器并发的最高点在哪,并不是都处理完成没有错误就算能承载并发,而是找到可接受的并发数在多大压力下完成的时间可以被用户接受才算有效。虽然并发测试10000也能顺利完成,但时间如果花费5分钟,那用户肯定不会继续傻等,所以看下面的报告:

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

  50%   4632
  66%   5381
  75%   5975
  80%   6317
  90%   6778
  95%   7562
  98%   9299
  99%   9355
 100%  34177 (longest request)

这里的50%代表请求在4.6秒内完成了,99%的请求在9.3秒内完成,所有请求完成需要34秒。说明最后的1%的请求消耗了大量的时间,对于正常的用户响应来说,这是不行的,所有的并发请求应该控制在5秒内完成,再长的时间等待对于用户来说是不可接受的。

通过把这行结果反馈数据(longest request)控制在5秒内,我们可以得出一台服务器适当的并发能力到底是多少

推荐的文章
# 发表我的评论
  /     /  
# 最近评论
暂时还没有评论,要不要说点什么?
  Ads by Google
  联系博主
Hello,本博客系统采用PHP和MySql开发,程序开发完全是因为个人爱好,是自己纯手写PHP源代码,未采用任何PHP框架!
QQ:858353007   微信号:lileihot123
网站地图
会员服务
关于我们
QQ:858353007
 
广告服务
加我微信
移动端访问
 
 
Copyright © 2014- 2025 www.mdaima.com All Rights Reserved.
李雷博客,专注PHP经验、PHP教程及PHP源代码开源下载分享的PHP博客!   ICP备案号:京ICP备10202169号-4