1. 压测工具apache ab /webbentch

    1.Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx、lighthttp、IIS等其它Web服务器的压力。ab命令  对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载。ab是最常用  的压测工具。

   2.ebbech能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况.webBech的标准测试可以向我们展示服务器的两项 内容:每秒钟相应请求数和每秒钟传输数据量.webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力.还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试.


一 .压测工具的安装

     1.压测工具apache ab的安装

      在ubuntu1404的环境下

      sudo apt-get install apache2-utils


2.压测工具webbentch的安装

         安装依赖ctags

         sudo apt-get install exuberant-ctags

          因为没有apt包,所以只能编译安装

                  wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz
          tar zxvf webbench-1.5.tar.gz
          cd webbench-1.5
          make && make install(不需要编译)


二. 压测工具的使用

   1.压测工具apache ab的使用

ab [options] [http[s]://]hostname[:port]/path

[options]:

      -n requests  请求数

      -c concurrency  并发数

      -t timelimit    Seconds to max. to spend on benchmarking

                   This implies -n 50000

      -s timeout      每个请求的最大请求时间,默认30秒

      -b windowsize   TCP发送/接受的缓存的大小,单位是字节

      -B address      Address to bind to when making outgoing connections

      -p postfile      File containing data to POST. Remember also to set -T

      -u putfile      File containing data to PUT. Remember also to set -T

      -T content-type  指定内容类型,如 -T 'application/x-www-form-urlencoded' 默认类型是'text/plain'。

      -v verbosity    多少故障排除信息数时去打印

      -w           输出HTML TABLE里的结果

      -i           用 HEAD 代替 GET

      -x attributes   table属性

      -y attributes   tr属性

      -z attributes   th/td属性

     -C attribute    添加如 -C 'Apache = 1234' (可重复)

     -H attribute    添加请求头行, eg. 'Accept-Encoding: gzip'。 插入到所有普通头部行后,(可重复)

     -A attribute    添加一个WWW认证, 这个属性是用冒号分割的用户名和密码。

     -P attribute    添加基本代理认证。这个属性是用冒号分割的用户名和密码。

     -X proxy:port    使用的代理服务器:端口号

     -V           版本号

     -k          使用长连接

     -d          不显示百分比表

     -S          不显示信任的评估和警告

     -q          不显示进展当超过150个请求时

     -l          接受可变的文件长度(使用此为动态网页)

     -g filename     输出收集数据到gnuplot格式的文件里.

     -e filename     输出服务端百分比到csv文件

     -r           接收错误不退出

     -h           显示使用信息

     -Z ciphersuite   指定 SSL/TLS 密码套件 (见OpenSSL密码)

     -f protocol     指定 SSL/TLS 协议,(SSL3, TLS1, TLS1.1, TLS1.2 or ALL)


 2. 压测工具webbentch的使用

    webbench [option]... URL

          -f|--force   不等待服务器的回复.

          -r|--reload   重发 - Pragma: no-cache.

             -t|--time <sec>  基准时间,默认30秒

             -p|--proxy <server:port> 使用代理服务器去请求.

             -c|--clients <n>      客户端数,并发数,默认为1

          -9|--http09          使用 HTTP/0.9 版本去请求

          -1|--http10          使用 HTTP/1.0 协议.

          -2|--http11          使用 HTTP/1.1 协议.

          --get              使用 GET 请求方法.

           --head              使用 HEAD 请求方法.

             --options           使用 OPTIONS 请求方法 .

          --trace             使用 TRACE  请求方法.

          -?|-h|--help         帮助

            -V|--version          版本