转:PHP性能:序——谈ab(Apache Bench)压力测试工具

Posted sz-xioabai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转:PHP性能:序——谈ab(Apache Bench)压力测试工具相关的知识,希望对你有一定的参考价值。

PHP性能:序——谈ab(Apache Bench)压力测试工具

ab(Apache  Bench)是啥?

  ab是Apache自带的一个压力测试软件,可以通过ab命令和选项对某个URL进行压力测试。ab建议在linux环境下使用。

 

为啥要压力测试工具?

  因为你不给你的网站压力,你不知道项目的最大的容量是多少,自己的知识有多少。在一定范围里,压力达到一定程度,动力和容量也就达到顶峰。所以说没有最大的容量,只有极致的性能优化。

  压力测试工具,另一方面也为测试提供一个标准,为当前需要优化提供基础数据。

 

ab有什么能力?

  ab作为Apache自带的软件,虽然性能不是最强,但是作为一般的压力测试已经足够了。

  ab的安装

  一般已经安装了Apache就不需要安装,需要安装的话可以自行搜索。

  ab的主要命令

  ab主要使用的两个选项就是-n和-c。其他选项使用命令 ab -h 进行查看。

  命令格式是:    ab -n10 -c10 URL

  命令解说:

  自带的命令选项说明如下

  技术分享图片

  上图所示,-n指的是请求URL的数量,-c是指每次请求的并发数。展示的命令格式的意义就是:对URL进行10次请求,每次并发数是10个,总共请求了100次。

  注:URL最后一定要补充一个"/",如:http://www.baidu.com/

  

测试性能主要关心那几个点?

  对于ab工具,我们需要关注的是服务器软件,每秒请求数(Requests per second),单个请求的耗时(Time per request)。

  下面是测试的结果解析:

  技术分享图片

  技术分享图片

  

测试的几个原则

  1、测试工具和测试数据时,使用到别人的网址时,-n和-c的参数不能太大。

  2、测试当前的机器,最好用另一台机器测试。

  3、测试修改结果,最好是某个功能完善后才测,否则会导致结果有差异。

 

测试时遇到的常见问题:

①、ab压测之apr_poll: The timeout specified has expired (70007)

问题解答:

  解决方案:在命令行中加-k 使得connection keep alive  如:ab -n 4000 -c 100 -k http://langyusc.net-tactic.com/

 

以上是关于转:PHP性能:序——谈ab(Apache Bench)压力测试工具的主要内容,如果未能解决你的问题,请参考以下文章

转 Mac 使用ab性能测试工具

转:Web性能压力测试工具之ApacheBench(ab)详解

PHP使用Apache中的ab测试网站的压力性能及mpm介绍

PHP 使用Apache 中的ab 測试站点的压力性能

如何使用Apache的ab工具进行网站性能测试

Apache服务器下使用 ab 命令进行压力测试