美文网首页
压力测试

压力测试

作者: tcliuyong | 来源:发表于2017-12-14 11:17 被阅读0次

    # 常用指标

    服务运行在线上是否稳定需要看几个指标,你可以根据你系统的具体业务场景着重来看某个指标。以下是整理的一些常用的指标。

    ##吞吐率(Requests per second)

    概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。

    计算公式:总请求数 / 处理完成这些请求数所花费的时间,即

    Request per second = Complete requests / Time taken for tests

    ##并发连接数(The number of concurrent connections)

    概念:某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。

    ##并发用户数(The number of concurrent users,Concurrency Level)

    概念:要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。

    ##用户平均请求等待时间(Time per request)

    计算公式:处理完成所有请求数所花费的时间/ (总请求数 / 并发用户数),即

    Time per request = Time taken for tests /( Complete requests / Concurrency Level)

    ##服务器平均请求等待时间(Time per request: across all concurrent requests)

    计算公式:处理完成所有请求数所花费的时间 / 总请求数,即

    Time taken for / testsComplete requests

    可以看到,它是吞吐率的倒数。

    同时,它也=用户平均请求等待时间/并发用户数,即

    Time per request / Concurrency Level

    #ab压力测试工具

    有了指标其实咱们就知道测试的方向了,但是具体怎么测就需要一个比较好用并且通用的工具了,接下来就是我要说的测试工具,比较通用,基本上通过命令就可以安装,window也可以使用。

    ## 安装ab工具

    ```

    yum install httpd-tools

    ```

    比较简单,通过命令直接安装

    ## ab常用参数

    这里需要说下,咱们就普及一下常用就参数就够了,需求更高端的方式,安装好后直接执行命令ab就会有所有的选项了,到时候自己看下就Ok了。

    参数说明

    -n:执行的请求个数,默认时执行一个请求

    -c:一次产生的请求个数,即并发个数

    -p:模拟post请求,文件格式为gid=2&status=1,配合-T使用

    -T:post数据所使用的Content-Type头信息,如果-T 'application/x-www-form-urlencoded'

    哈哈,来个栗子补补肾

    ### GET请求demo

    ```

    ab -c 10 -n 10 http://www.baidu.com/s?wd=压测工具

    ```

    这个太简单,没啥挑战性。

    ###POST请求

    在当前目录下创建一个文件post.txt

    编辑文件post.txt写入

    id=4&status=1

    相当于post传递id,status参数

    竟然需要文件配合了,复杂点了哈

    ```

    ab -n 100  -c 10 -p 'post.txt' -T 'application/x-www-form-urlencoded' 'http://baidu.com'

    ```

    ## 总结一下

    咳咳,到了总结的时候了,压力测试其实还是比较复杂的,我只是一个比较简单的方式说了出来,假如要是深入了解可以调研一下国内用的比较多的压测工具,看看都需要测试哪些方面。

    核心其实对应的就是指标。

    相关文章

      网友评论

          本文标题:压力测试

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