linux下使用ab进行压力测试

发表于:2013-08-19来源:开源中国社区作者:原配点击数: 标签:linux
首先确定下做压力测试的工具和性能的监控工具,这个压测的工具使用的是ab、监控工具使用的是nmon。 看下linux主机上的ulimit -n 的数据是多少,为改动过的是1024,最好要改的大一点。这个是linux下最大线程数,如果过小的话无法进行大并量的测试。

  首先确定下做压力测试的工具和性能的监控工具,这个压测的工具使用的是ab、监控工具使用的是nmon。

  看下linux主机上的ulimit -n 的数据是多少,为改动过的是1024,最好要改的大一点。这个是linux下最大线程数,如果过小的话无法进行大并量的测试。

  ab经行压力测试时的脚本我用的形式为:

  1.(get方式)./ab -n 1000 -c 1000 -k http://xxx.xxxxx.com/synth/open/recurls.do?test=true

  2.(post方式./ab -n 2500 -c 2500 -k -p postfile.ab http://xxx.xxxx.com/synth/open/getTheme.do postfile.ab中为json数据)

  其中参数n为请求的次数,c为一次请求的并发次数,-k为keep_alive,一般出现链接被重置的错误时最好带上-k的参数。

  还有好多参数,可以在ab--help中看下(这个是超级秘籍)。

  贴出来

  结果的每一项的意义就不多说了 在baidu google上一搜一堆的。

  在每一次压测的同时,可以开启nmon进行实时监控,并打开nmon的记录功能进行数据的记录。

  但是做完压测后发现点问题一直不得解惑,希望那位大虾给指点迷津:

  1.出现failed requests 时 如何确定错误信息是什么,为什么会出现错误。

2.出现The timeout specified has expired (70007)、Connection reset by peer (104)错误时,是应该测试人员去解决,还是开发人员去调优?

原文转自:http://my.oschina.net/hyp3/blog/70224