美文网首页
ab压力测试

ab压力测试

作者: Suncy | 来源:发表于2019-10-03 18:04 被阅读0次

    ab压力测试

    理解:

    ab是apache自带的压力测试工具,是apache bench命令的缩写;
    

    作用:

    不仅可以对apache服务器进行网站访问压力测试,也可以对其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等
    

    原理:

    ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力;
    ab命令对发出负载的计算机要求很低,它不会占用很高CPU,亦不会占用很多内存。但会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机。
    

    下载:

    linux:yum install httpd

    检查是否安装成功:ab -V
    windows :http://httpd.apache.org/download.cgi

    企业微信截图_15696361688763.png

    测试示例:

    image.png

    以下为脚本内容:

      #!/bin/bash
    while(true)
    do
        echo $(date) >> test/getInfo.txt
        abs -n 200 -c 40 -T 'application/x-www-form-urlencoded' https://zovee.cn:12321/v2/user/getInfo >> test/getInfo.txt & 
        echo $(date) >> test/userRegister.txt
        abs -n 200 -c 40 -p 'register.txt' -T 'application/x-www-form-urlencoded' https://zovee.cn:12321/v2/user/register >> test/userRegister.txt &
        echo $(date) >> test/getGatewayList.txt
        abs -n 200 -c 40 -T 'application/x-www-form-urlencoded' https://zovee.cn:12321/v2/gateway/getGatewayList >> test/getGatewayList.txt &
        echo $(date) >> test/getMessageList.txt
        abs -n 200 -c 40 -p 'mac.txt' -T 'application/x-www-form-urlencoded' https://zovee.cn:12321/v2/gateway/getMessageList >> test/getMessageList.txt &
        echo $(date) >> test/getToken.txt
        abs -n 200 -c 40 -p 'token.txt' -T 'application/x-www-form-urlencoded' https://zovee.cn:12321/v2/oauth/token >> test/getToken.txt
    done
    

    若http协议,使用ab,若https安全协议使用abs
    -n: 请求总数
    -c :并发总数
    -T 'application/x-www-form-urlencoded' :post 请求格式
    -p 'mac.txt':请求参数,写在一个文件中

    test/userRegister.txt:将测试结果写入指定文件中

    测试结果

    image.png

    结果大致分析:

    image.png

    相关文章

      网友评论

          本文标题:ab压力测试

          本文链接:https://www.haomeiwen.com/subject/cjmzuctx.html